Adding Custom Claims to Tokens

Overview

This article provides steps to add custom claims to an Access Token, ID Token, or both, using Actions.

Applies To

  • Custom Claims
  • Actions

Solution

Utilize a Post Login Action to add custom claims in a namespaced format to an Access Token or ID Token.

Find this explained with an example in Create custom claims

exports.onExecutePostLogin = async (event, api) => {

 const namespace = 'https://myapp.example.com';
 const { favorite_color, preferred_contact } = event.user.user_metadata;

 if (event.authorization) {
  // Set claims in ID token
  api.idToken.setCustomClaim(`${namespace}/favorite_color`, favorite_color);
  api.idToken.setCustomClaim(`${namespace}/preferred_contact`, preferred_contact);

  // Set claims in access token
  api.accessToken.setCustomClaim(`${namespace}/favorite_color`, favorite_color);
  api.accessToken.setCustomClaim(`${namespace}/preferred_contact`, preferred_contact);
 }
};

Related References

1 Like