ClientDetails
. 但是,除了按客户机限制之外,我还想限制单个用户可用的范围;例如,用户应该只能访问
admin.forceLogout
持有时的范围
ROLE_ADMIN
.
我不想直接将用户权限映射到作用域
checkUserScopes
相反,我希望运行自定义逻辑来检查和修改与特定令牌授予关联的作用域。最好的办法是什么?
-
提供
TokenEnhancer
在发行后修改令牌。这似乎更多地是为了包含额外的信息,比如受众声明,而不是重写已经可用的作用域。特别是,这是在
confirm_access
步骤。
-
提供自定义
OAuth2RequestFactory
checkUserScopes()
似乎是放置自定义策略的最佳位置,但它是私有的,唯一的覆盖点是在整个
createTokenRequest()
有没有更好的方法来进行这种“交叉点”过滤,还是这两个选项?