Authored By: Anonymous
For authentication and registration of external users in public-facing applications (applications whose operators are not employees), the leading practices discussed in this article should be followed.
When using public-facing applications, users could initially be unauthenticated (anonymous and identity unknown), and may have very restricted access to application features. They may then register themselves or have their identity verified partway through a session, and the session should continue transparently, with their operator context appropriately updated and with expanded privileges.
For example, when going to an online shopping website, you may browse and add items to your cart without having an account or without signing into your account. In this case, you are browsing as an unauthenticated users and add items to a shopping cart, and then they either create an account or enter their credentials to check out.
Industry leading practices are detailed in Basic requirements for deploying public-facing applications. The general take-aways from this article are as follows:
- Use the out-of-the-box Authentication Service rule of the Anonymous type for authentication.
- In that rule, specify an access group with the appropriate extremely-limited privileges that should be sufficient for an anonymous user. The privileges would usually ensure that such users can only use the case types required for them to create their cases, can only access data they have created themselves, and have no access to other application functionality, such as reporting, etc.
- Use the Re-Authentication gadget to challenge the user to enter login credentials and change their context and access group information, rather than writing custom code.
- In public-facing applications where end users do not need access to information about other operators, we recommend that you restrict all access to data in the
Data-Admin-OperatorID
class to only the end user’s data through an access control policy. You can do this by enabling the out-of-the-box rulespyDefault
andpyRestrictToSelf
in theData-Admin-OperatorID
class.
For more information, see the following articles on Pega Community: