Customize OpenID Connect scope and claims
In this document you will learn how OpenID Connect scope and claims work with Ory OAuth2 and OpenID Connect. It will also cover
the default setup of Ory, which uses Ory Identities for logging in and the Ory Account Experience for getting user consent. This
setup supports the email and profile OpenID Connect scopes.
The default setup of Ory OAuth2 and OpenID Connect
By default, Ory OAuth2 and OpenID Connect use Ory Identities to handle login. It also uses the Ory Account Experience to ask for
user consent. This setup supports the email and profile scopes as defined by OpenID Connect.
How the email scope works
For the email scope, the system uses the verifiable addresses of a user. The first verifiable email is used to include the email
in the ID token claims. This means that both email_verified and email claims get set.
How the profile scope works
For the profile scope, the system uses traits associated with a user. Here's how they map:
identity.traits.usernameis used for theusernameclaim.identity.traits.websiteis used for thewebsiteclaim.identity.updated_atis used for theupdated_atclaim.
Also, the name field can be a string or an object:
- If
identity.traits.nameis a string, it is used for thenameclaim. - If
identity.traits.nameis an object,traits.name.firstandtraits.name.lastare used for thegiven_nameandfamily_nametraits.
Making Custom Scopes and Claims
Ory allows you to customize scopes and claims. To do this, you can set up a custom consent UI. This way, you can adjust your identity management process to fit your needs. For more information, check out the Ory Consent UI Documentation.