Calling client.userInfo method does not return user_metadata

I do login with current options:

const authOptions = {
      realm: 'Username-Password-Authentication',
      username: email,
      password: password,
      scope: 'openid profile email read:users user_id id'
    }

But, when i get the userInfo the user_metadata does not return.

If you’re using non-OIDC conformant authentication (aka legacy) then including user_metadata as one of the requested scopes would lead to the user metadata being included in the issued ID token and also available at the /userinfo endpoint.

If you’re using OIDC conformant authentication (aka new) then the contents of the ID token and the responses at the /userinfo endpoint will not include the user_metadata as a claim even if you request it as part of the scope. This is due to the fact that user_metadata is not a standard OIDC claim.

In the OIDC mode you however include custom claims in the issued token and the same information that was included in the ID token will also be returned in calls to /userinfo. For reference information on how to include custom claims see: OpenID Connect Scopes


For general information on the differences between the legacy and new flows see: https://auth0.com/docs/api-auth/intro#legacy-vs-new

I can’t found this option in my client config screen :confused:

I can’t found this option in my client config screen :confused:

OIDC-conformant can be triggered in different ways (see this for additional info), but you can always force it to be enable by configuring a client level setting: Dashboard > Clients > Settings > Show advanced settings > OAuth > OIDC Conformant flag

It works. Thanks!

Hi @bruno.quaresma @jmangelo
Can you explain a little how you did it please, I have the same problem

The recommended approach would be to enable OIDC conformance and then check the linked docs to see how to include information from user metadata into the issued tokens and also available at the user info endpoint.