Hello everyone, I am new to the ICP how best to manage users and assign roles on the ICP blockchain.
First and foremost, I understand that if you are authenticating with the Internet Identity (II), every user gets a unique identity/principal for each front-end canister. If the back-end is capturing the authenticated principal, is it safe to assume that this principal ID will never change as long as the user keeps signing in with II to the front-end dApp?
Imagine a scenario where you are building a dApp say for a doctor’s office. The doctor, along with the front office staff will have to use this application, each with different roles and permissions. How will this all come together from the perspective of the IC? Is every user (the doctor and all the front office staff) expected to create an Internet Identity? This does not seem to be feasible or practical. If the doctor decides to create an Internet Identity (on his device), can he share that with his staff? Even then, how will the staff sign into said dApp given that the dApp authenticates with II and attempting to use the doctor’s II number on another computer (by the front office staff) will not work.
I would appreciate if someone can explain how to create a dApp that allows for the dynamic management of roles and permissions for the dApp’s users. How will the dApp’s users also authenticate, for example in this imaginary case of a doctor’s office dApp where the doctor and dynamically create roles (and users too?) and assign to users. I am not sure it is feasible that each user create an II. Even if this were the case, how do you associate the users to this particular doctor’s office?
Thanks in advance for your feedback.
Cheers