1

我正在使用 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

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

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

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

4

1 回答 1

1

我希望这对您有所帮助并满足您的要求。

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

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

Git Hub 中的 OAuth2RestTemplate 示例

网址:https ://github.com/mariubog/oauth-client-sample

于 2015-12-15T11:39:08.127 回答