Hapi - 如何从请求对象访问路由范围

Hapi - how to access route scope from request object

我有一个 Hapi API,使用 JWT 进行身份验证。我的 JWT 的验证函数作为

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' 项时才允许调用,但我不知道在我的验证函数中要检查什么。

请求中哪里可以找到当前调用的路由范围限制?

或者,我还能如何构造此方案以满足我的需要?

好吧,我最终以不同的方式解决了它

我的路线保持不变,但在验证函数中,我根据解码的 userId 构造了一个范围字符串数组,然后将其添加到范围中

userPermissions: string[] = buildUserPermissions(userId);
// after they pass any checks
return callback(null, true, {scope: userPermissions, user: user} );