2017-03-21 4 views
0

https://xxx.au.auth0.com/api/v2/を使用して、ユーザーのクエリと更新を行うことができます。ただし、ロールを作成してユーザーに割り当てる方法はありません。auth0:v2 apiを使用してユーザーの役割を更新する

どうぞよろしくお願いします。

+0

あなたが探していたものが見つかりましたか?あなたが必要とすることを行うべき答えを以下に記入してください。まだ問題がある場合は、答えの下にコメントを残しておいてください。 – arcseldon

答えて

0

これを行う簡単な方法はAuth0です。これはRulesです。これにより、ユーザープロファイルapp_metadata属性にロール情報を追加します。

は例えば、ここに

function addRolesToUser(user, context, callback) { 

    // ignore this rule if not correct client id of application using Rules 
    if (context.clientID !== 'eTQbNn3qxxxxxxxxxxxL6R7M7MDh') { 
    return callback(null, user, context); 
    } 

    user.app_metadata = user.app_metadata || {}; 
    user.user_metadata = user.user_metadata || {}; 

    // You can add a Role based on what you want 
    // In this case I check domain - give gmail ADMIN role 
    var addRolesToUser = function (user, cb) { 
    if (user.email.indexOf('@gmail.com') > -1) { 
     cb(null, ['ROLE_ADMIN', 'ROLE_USER']); 
    } else { 
     cb(null, ['ROLE_USER']); 
    } 
    }; 

    addRolesToUser(user, function (err, roles) { 
    if (err) { 
     callback(err); 
    } else { 
     user.app_metadata.roles = roles; 
     auth0.users.updateAppMetadata(user.user_id, user.app_metadata) 
     .then(function() { 
      callback(null, user, context); 
     }) 
     .catch(function (err) { 
      callback(err); 
     }); 
    } 
    }); 
} 

役割は今、検査のためapp_metadataでUser Profileの一部と使用可能な簡単な例です。返されたJWT IDトークンにロール情報を追加したい場合は、rolesスコープを認証リクエストに追加してください。

関連する問題