Why?
This is the second post in a series on Power Apps Portals.
What?
Read my previous part https://knowhere365.space/power-apps-basic-setup-of-your-portal/ for the basics. In this part I will focus on the options available to let other (external) people access your portal. For this post it is important to know that Contacts is the one and only entity that contains records with data of possible portal visitors that can log on. The entity Accounts contains records with data of organizations to which Contacts can be linked. This is CRM data model one-on-one but crucial in the Power Apps Portals fundamentals.
How?
Once the Power Apps Portal is activated, the portal and all content shown in it is open to anyone on the internet instantly. Therefor before showing any data from your Common Data Service on any page in your portal: determine how you are going to distinguish anonymous portal visitor from portal users that you can recognize. Not only so you can create a personalized experience but especially to make sure you know who can see what data.
The first step on achieving this, will be by giving portal visitors the option to sign in to your portal.
A logged on portal visitor will change from an anonymous visitor 🔓 to an authenticated portal user 🔐. (also important with regards to licensing: https://docs.microsoft.com/en-us/power-platform/admin/powerapps-flow-licensing-faq#portals)
The main question in this phase:
how will anonymous visitors become authenticated users within your portal?
The configuration of these options is done in the Site Settings entity of the Portal Management App and explained in detail here: https://docs.microsoft.com/en-us/powerapps/maker/portals/configure/set-authentication-identity#enable-or-disable-user-registration
Possible answers:
- let visitors register themselves from an “open registration”
(Authentication/Registration/OpenRegistrationEnabled on true)
This is the least restrictive way so anyone from the internet can create a Contact after filling in a default registration form. After this the portal visitor can log in and become an authenticated portal user. - limit the possible registrations to “invite only”(Authentication/Registration/OpenRegistrationEnabled on false
Authentication/Registration/InvitationEnabled on true)
This way a portal adminstrator can create a Contact with a unique email address in the Portal Management App, link it to an Account and then create a unique invitation code (see https://docs.microsoft.com/en-us/powerapps/maker/portals/configure/invite-contacts) to share with a person. Anyone will be able to redeem this invitation code, but only the owner of the given email address will be able to confirm and thereby finalize the registration. The advantage here is that you have more control on who can register for access and the new portal user will be automatically linked to the right organization.
TIP: search Site Settings in the Portal Management App to filter related settings fast. In this scenario search on authentication/registration in the top right of this model driven app 💡.
Where this post was focused on Contact creation, the next post will focus on Contact authentication. Authentication is the manner(s) in which a visitor will be allowed to sign in and prove that they are who they say they are. Stay tuned! ⏳
This helped me so much, thanks!!!!!!!!