【问题标题】:Can I use an OAuth2 access token to get an access token for a different client?我可以使用 OAuth2 访问令牌来获取不同客户端的访问令牌吗?
【发布时间】:2017-10-13 22:29:35
【问题描述】:

在我们的项目中,我们希望有一个“主”客户端,用户必须获得一次访问令牌。任何需要访问令牌的其他客户端都将通过“主”客户端进行操作。

目前,每次客户端需要访问令牌时,用户都必须登录。如果我们的“主”客户端有一个有效的令牌并且我尝试使用它访问授权端点,我要么被转发到登录页面,要么得到一个“InsufficientAuthenticationException:用户必须先通过 Spring Security 进行身份验证才能完成授权。”

此时我想知道它是否打算以这种方式访问​​授权端点,或者我们只是做错了什么。

【问题讨论】:

    标签: spring-security oauth-2.0


    【解决方案1】:

    我遇到了同样的问题。基本上我所做的是用新的grant_type 扩展了AbstractTokenGranter,在其中我从令牌存储中获得了身份验证,并使用第二个clientIds 创建了新的TokenRequest。您还需要使用您的检查创建新的 AbstractUserDetailsAuthenticationProvider 并扩展 UsernamePasswordAuthenticationToken 以将其挂在链中。 剩下的就是在设置中添加授权者和提供者,并在对 oauth 主服务器的请求中使用您全新的授权类型。祝你好运!

    【讨论】:

      猜你喜欢
      • 2014-07-11
      • 2013-11-02
      • 1970-01-01
      • 2013-01-01
      • 1970-01-01
      • 2015-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多