在Spring Security Oauth2中的标头中发送用户名和密码

时间:2015-12-14 08:03:53

标签: java spring spring-oauth2

我使用Spring Security Oauth2生成访问令牌。当我使用password作为授权类型时,我发送一个帖子请求为

  

http://localhost:8085/oauth/token?grant_type=password&client_id=ws&client_secret=secret&scope=read+write&username=david@abc.com&password=abc@123

我不想在网址中发送用户名和密码。

我检查了TokenEndPoint.java的源代码,但找不到多少。我知道我们可以使用HTTPS并加密用户名和密码。

我只是想知道是否有任何方法可以在标题中发送用户名和密码。

1 个答案:

答案 0 :(得分:0)

我希望这可以帮助您并满足您的要求。

来源:https://github.com/spring-projects/spring-security-oauth/blob/master/docs/oauth2.md

作为一般规则,Web应用程序不应使用密码授予,因此如果您可以支持AuthorizationCodeResourceDetails,请避免使用ResourceOwnerPasswordResourceDetails。如果你绝对需要密码授予来从Java客户端工作,那么使用相同的机制来配置你的OAuth2RestTemplate并将凭证添加到AccessTokenRequest(这是一个Map并且是短暂的)而不是ResourceOwnerPasswordResourceDetails(在所有访问令牌之间共享)

Git Hub中的OAuth2RestTemplate示例

url:https://github.com/mariubog/oauth-client-sample