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);
}
};