Update : I have tried the recommendation from this article, but I don’t see any roles being assigned to the newly signed up user.
exports.onExecutePostUserRegistration= async (event, api) => {
const namespace = `https://${event.secrets.AUTH0_DOMAIN}`;
const ManagementClient = require("auth0").ManagementClient;
const management = new ManagementClient({
domain: event.secrets.AUTH0_DOMAIN,
clientId: event.secrets.MGMT_CLIENT_ID,
clientSecret: event.secrets.MGMT_CLIENT_SECRET,
scope: "read:users update:users read:roles",
});
const defaultRole = { id : event.secrets.DEFAULT_ROLE_ID};
const adminRole = { id : event.secrets.ADMIN_ROLE_ID};
var data = { "users" : [ event.user.user_id]};
try {
if (event.authorization) {
if (!event.user.email_verified) {
return;
} else if (event.user.email && event.user.email.endsWith("@avb.dev")) {
api.idToken.setCustomClaim(`${namespace}/roles`, event.secrets.adminRole);
api.accessToken.setCustomClaim(`${namespace}/roles`, event.secrets.adminRole);
await management.roles.assignUsers(adminRole, data);
} else {
api.idToken.setCustomClaim(`${namespace}/roles`, event.secrets.defaultRole);
api.accessToken.setCustomClaim(`${namespace}/roles`, event.secrets.defaultRole);
await management.roles.assignUsers(defaultRole, data);
}
}
} catch (e) {
console.log(e);
}
};
[Reference Article](https://community.auth0.com/t/adding-roles-to-users-post-registration-using-actions/75671)