Works exactly as intended, thanks a lot !
Here is my final rule code :
function (user, context, callback) {
user.app_metadata = user.app_metadata || {};
// You can add a Role based on what you want
// In this case I check domain
var addRolesToUser = function(user, cb) {
if (user.email.indexOf('@myDomainName') > -1)
{
cb(null, 'admin']);
} else
{
cb(null, 'user']);
}
};
addRolesToUser(user, function(err, roles) {
if (err)
{
callback(err);
} else
{
user.app_metadata.roles = roles;
// *** New line below ***
user.roles = user.app_metadata.roles;
auth0.users.updateAppMetadata(user.user_id, user.app_metadata)
.then(function(){
callback(null, user, context);
})
.catch(function(err){
callback(err);
});
}
});
}