Spring Security Oauth2 - 向 AccessTokenRequest 添加凭据
Posted
技术标签:
【中文标题】Spring Security Oauth2 - 向 AccessTokenRequest 添加凭据【英文标题】:Spring Security Oauth2 - Adding credentials to the AccessTokenRequest 【发布时间】:2015-06-21 08:35:46 【问题描述】:将this reference 发送到 Spring OAuth2 客户端文档:
还有以下部分:
如果您非常需要密码授权才能从 Java 客户端工作,请使用相同的机制来配置您的 OAuth2RestTemplate 并将凭据添加到 AccessTokenRequest(它是一个 Map 并且是短暂的)而不是 ResourceOwnerPasswordResourceDetails(在所有人之间共享)访问令牌)。
如何将凭据添加到 AccessTokenRequest?或者更一般地说,我怎样才能为请求的特定用户获取对 AccessTokenRequest 或 OAuth2ClientContext 的引用。
我需要这个的原因是为了避免 UserRedirectRequiredException 和重定向到授权 URL 的要求,因为我正在访问的 Rest API 没有登录页面,而只是一个 restful 登录 api。
假设 OAuth2ClientContextFilter 应该存储当前请求和上下文,但我看不出如何。
【问题讨论】:
好的,会话属性scopedTarget.oauth2ClientContext保存了客户端上下文 【参考方案1】:访问AccessTokenRequest
:
@Autowired
OAuth2RestTemplate restTemplate;
public void doSomething()
AccessTokenRequest request =
restTemplate.getOAuth2ClientContext().getAccessTokenRequest();
...
【讨论】:
以上是关于Spring Security Oauth2 - 向 AccessTokenRequest 添加凭据的主要内容,如果未能解决你的问题,请参考以下文章
Spring-Security OAuth2 设置 - 无法找到 oauth2 命名空间处理程序
Spring Security OAuth2 v5:NoSuchBeanDefinitionException:'org.springframework.security.oauth2.jwt.Jwt
针对授权标头的Spring Security OAuth2 CORS问题