1
Node.js-expressセットアップでREST APIを使用したWebサーバーがあります。私は公開されているさまざまなAPIを持っており、私はOAuthを使ってユーザーを認証しています。ユーザーを特定すると、自分の役割を取得し、APIのアクセス許可を与えることにします。問題は、私のすべてのAPIが繰り返しコードを持ち、すべてが役割をチェックして権限を判断する必要があることです。これを行うための良い方法はありますか?私はACLを見るべきですか?一般的に私はWebサービスの初心者であり、最良の解決策を認識していないかもしれません。ありがとう。Node.js Web-Serverでユーザーロールを特定し、APIアクセスを許可する正しい方法は何ですか?
例コード:
var userRole = getUserRole(user.role_id);
function foo(error, user) {
if(error == null) {
var authorizedRoles = [
ROLE.SUPERVISOR,
ROLE.MANAGER
];
if(authorizedRoles.indexOf(userRole) > -1) {
//Authorized
} else {
//Error
}
} //...
次に、あなたを:
var accessCallback = function (err, user) {
if(err == null) {
var userRole = getUserRole (user.role_id);
if(userRole == ROLE.SUPERVISOR || userRole == ROLE.MANAGER || userRole == ROLE.EMPLOYEE){
doStuff(); //business logic
}
else {
response.status(400).send (error.UserAccessDeniedError());
}
}
else {
response.status(500).send(error.DatabaseError(err));
}
};
access.determineUser (req.body.tokenID, accessCallback);