Docs

Normalized User Profile Schema

Versionauth0

The attributes that Auth0 maps to a common schema are listed below.

Fields that are always generated:

  • name: the user's full name.
  • nickname: the user's username if available, else the local-part of the user's email.
  • picture: the URL of the user's picture. If unavailable, Auth0 uses the Gravatar image associated with the user's email address.
  • user_id: the user's unique identifier. This is unique per Connection, but the same for all apps that authenticate via that Connection.

By default, a user's name, nickname, and picture attributes provided by identity providers other than Auth0 (such as Google, Facebook, Twitter) are not directly editable since they are updated from the identity provider each time a user logs in. If you want to be able to edit these attributes, you must configure your connection sync with Auth0 so that user attributes will be updated from the identity provider only on user profile creation. Root attributes will then be available to be edited individually or by bulk import using the Management API.

Fields that are generated when the details are available:

  • email: the user's email address.
  • email_verified: a boolean indicating if the user's email address has been verified.
  • given_name: the user's first name.
  • family_name: the user's last name.

When creating a user with the create a User Management API endpoint you can submit the given_name and family_name. By default, a user's given_name and family_name attributes provided by identity providers other than Auth0 (such as Google, Facebook, Twitter) are not directly editable since they are updated from the identity provider each time a user logs in. If you want to be able to edit these attributes, you must configure your connection sync with Auth0 so that user attributes will be updated from the identity provider only on user profile creation. Root attributes will then be available to be edited individually or by bulk import using the Management API

Custom Databases

If you are writing a login script for a custom database you are responsible for returning the information in the user profile. A unique and immutable user_id property is mandatory to correctly identify the user (see Uniquely Identify Users).

Additional Attributes

The User Profile includes an array of identities. In the most common case (logging in with a single provider), the array contains only one element. If the user has multiple accounts linked, the array will have an element for each associated account.

For more information, see: Link Accounts.

The identities array contains the following attributes:

  • connection: the name of the connection.
  • isSocial: indicates if the provider is a Social provider.
  • provider: the provider of the connection.
  • user_id: the unique identifier of the user for this connection.

Auth0 will pass to your app all other properties supplied by the identity provider, even if those that are not mapped to the standard attributes listed above.

Keep reading