【问题标题】:Sending username and password in headers in Spring Security Oauth2在 Spring Security Oauth2 的标头中发送用户名和密码
【发布时间】:2016-03-19 15:31:15
【问题描述】:

我正在使用 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 并加密用户名和密码。

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

【问题讨论】:

  • 看看这个网址你会得到答案stackoverflow.com/questions/24699978/…
  • @Rocky 我想你不明白我的问题,你提供的链接与我的问题完全无关。
  • 嘿,你找到解决方案了吗:|因为我也被困在这里。

标签: java spring spring-oauth2


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-21
    • 2015-03-09
    • 2012-02-08
    • 2015-07-25
    • 2015-06-25
    • 2019-11-12
    • 2011-12-12
    • 1970-01-01
    相关资源
    最近更新 更多