在我们的项目中,我们希望拥有一个" master"客户端用户必须获取一次访问令牌。任何需要访问令牌的其他客户端都将通过" master"客户。
目前,每次客户端想要访问令牌时,用户都必须登录。如果我们的"主人"客户端有一个有效的令牌,我尝试使用它来到授权端点,我要么转发到登录页面,要么得到一个" InsufficientAuthenticationException:在完成授权之前,用户必须使用Spring Security进行身份验证。&#34 ;
此时我想知道它是否打算以这种方式访问授权端点,或者我们是否只是做错了。
答案 0 :(得分:0)
我有同样的问题。基本上我所做的是使用新的grant_type扩展AbstractTokenGranter,其中我从令牌存储中获得了身份验证,并使用第二个clientIds创建了新的TokenRequest。您还需要使用检查创建新的AbstractUserDetailsAuthenticationProvider并扩展UsernamePasswordAuthenticationToken以将其挂钩。 剩下的就是在设置中添加granter和provider,并在请求oauth主服务器时使用全新的grant_type。祝你好运!