我有一个Hapi API,使用JWT进行身份验证。我的JWT的validate函数的作用是
let validate = (decoded, request, callback) => {
// decoded.permissions is an array of the users's permissions
我的路线具有如下动态范围;
path: "/{portalId}/somedata",
method: "POST",
config: {
auth: {
strategy: "jwt",
scope: ['user-{params.portalId}']
}
我想将呼叫限制为仅允许用户的权限数组包含“ user-1”项,但我不知道在我的validate函数中要检查的内容。
我可以在请求中哪里找到当前呼叫的路由范围限制?
或者,我还可以如何构造该方案来满足我的需要?
答案 0 :(得分:0)
欢迎,我最终以不同的方式解决了问题
我的路线保持不变,但是在验证功能中,我基于解码的userId构造了一个范围字符串数组,然后将其添加到范围中
userPermissions: string[] = buildUserPermissions(userId);
// after they pass any checks
return callback(null, true, {scope: userPermissions, user: user} );