- Self-served information updates
- Mandatory updates concerning your organizations T’s & C’s
- Changes due to regulatory compliance
You cannot directly access a user profile across multiple Auth0 tenants. If you’re deploying multiple Auth0 tenants to production then this is something you need to be aware of.
The Normalized User Profile is updated from the identity provider during login, and you can change the limited set of the information it contains through the Auth0 Management API. You can also use Auth0 extensibility, such as Rules, as an alternative to override information in the Normalized User Profile. See User Profile Data Modification for more information.
- What should you do if you need to store information to help customize a user’s experience?
- What if you need to store user information that didn’t originate from an ?
- Why would you need to store user-related information that a user cannot modify?
- What do you do if you need to store user-related information that a user cannot modify?
- What happens if a user forgets their password?
- What should a user do if they want to change their password?
- How do you provide an administrator from a third-party organization with the ability to manage their users?
Self-service profile management can raise security as well as data privacy concerns. For example, you may want to allow a user to change their email address, however, doing so without following best practice security guidance could result in a user locking themselves out of their account, leaking Personally Identifiable Information (PII), or worse, opening up a potential breach in security.
Metadata
In addition to the Normalized User Profile information, Metadata can be stored in an Auth0 user profile. Metadata provides a way to store information that did not originate from an identity provider, or a way to store information that overrides what an identity provider supplies.Best Practice
Use of Metadata should follow Auth0 user data storage best practices. Metadata storage is not designed to be a general purpose data store, and you should still use your own external storage facility when possible. Metadata size and complexity should also be kept to a minimum, and the Auth0 Management API has a strict set of guidance when it comes to updating and/or deleting metadata associated with a user.Calls to the Management API are subject to Auth0 Rate Limiting policy. You must take this into consideration, and to assist, Auth0 generally recommends use of the appropriate Auth0 SDK for your development environment rather than calling our APIs directly.
User metadata
User metadata (also referred to asuser_metadata
) is information that can be stored against a user profile and that a user can read and update as part of any self-service profile management. Metadata of this nature may be something like salutation for a user, or a user’s preferred language which could be used to customize the emails sent by Auth0.
Best Practice
Store any information that you want use to customize Auth0 emails in metadata and preferablyuser_metadata
if the user is allowed to change it, such as information used to determine the language for an email.App metadata
App metadata (also referred to asapp_metadata
) is, on the other hand, information that can be stored with a user profile but can only be read or updated with appropriate authorization; app_metadata
is not directly accessible to a user. This type of metadata could be something like a flag to indicate that the last set of valid terms and conditions was accepted by the user, and a date to indicate when the user accepted them.
Password reset
For users who forget their passwords or who are allowed to change their password via some existing self-service mechanism, Auth0 provides Password Reset functionality. You can integrate this with your existing implementation and comes already incorporated with out-of-the-box Auth0 UI widgets included as part of Universal Login.Password change and password reset is only supported for Auth0 Database Connection types.
Account verification
You’ll also need to work with a verified user account at all times and make use of the mechanisms Auth0 provides. You should also consider regulatory compliance like GDPR which has very specific requirements for protecting EU citizens from privacy and data breaches. Auth0 provides out-of-box functionality for sending a verification email to a user’s email address to verify their account. By default, Auth0 automatically sends verification emails for any Database Connection identity created as part of self sign-up. However, Auth0 also provides a Management API endpoint that you can use to send verification emails in cases where email address validation is not performed by a Social Provider upon user registration.Blocking users
Blocking user access in Auth0 provides a way to prevent user login to applications under certain conditions. By default, the Auth0 Dashboard provides an out-of-the-box mechanism to give administrators the ability to both block and unblock user access to all applications, and you can implement this functionality via use of the Auth0 Management API. You can also use Auth0 extensibility to disable user access to certain applications as well as provide more fine-grained access control. In addition, the Auth0 Management API provides you with the ability to unblock users disabled due to excessive use of incorrect credentials.Admin portal
An admin portal is an application where you can create new users, edit a user’s profile, see activity about a user, etc. This application should be accessible by administrators only. Though Auth0 provides its management dashboard, it is not advised to give access to the management dashboard to many people as there are a lot of ways someone can unintentionally break your Auth0 tenant. Instead, Auth0 provides two other options:- Auth0 Management API: With the Management API you can easily construct an application that provides administrators the ability to manage users. You can either incorporate this into an existing application that already exists for your administrators, or create a new one with a UI that matches your current applications.
- Auth0 Delegated Administration Extension: This powerful and flexible extension allows you to customize a user administration experience. You can tailor this extension so that you can allow your customer admins to log in and allow them to only see and manage users within their organization.