代码之家  ›  专栏  ›  技术社区  ›  chrylis -cautiouslyoptimistic-

授予OAuth2令牌时如何限制用户的作用域?

  •  1
  • chrylis -cautiouslyoptimistic-  · 技术社区  · 6 年前

    ClientDetails . 但是,除了按客户机限制之外,我还想限制单个用户可用的范围;例如,用户应该只能访问 admin.forceLogout 持有时的范围 ROLE_ADMIN .

    我不想直接将用户权限映射到作用域 checkUserScopes 相反,我希望运行自定义逻辑来检查和修改与特定令牌授予关联的作用域。最好的办法是什么?

    • 提供 TokenEnhancer 在发行后修改令牌。这似乎更多地是为了包含额外的信息,比如受众声明,而不是重写已经可用的作用域。特别是,这是在 confirm_access 步骤。

    • 提供自定义 OAuth2RequestFactory checkUserScopes() 似乎是放置自定义策略的最佳位置,但它是私有的,唯一的覆盖点是在整个 createTokenRequest()

    有没有更好的方法来进行这种“交叉点”过滤,还是这两个选项?

    0 回复  |  直到 6 年前