Spring security oauth2:grant_type = password身份验证

时间:2015-11-25 10:37:13

标签: java spring spring-security oauth-2.0 spring-security-oauth2

我正在使用Spring Oauth 2来保护Web应用程序并实施三脚安全系统,并且在使用

grant_type=password

我注意到用于获取用户令牌的URL是:

Method : POST + Basic-Authentication header for the client

http://host:port/api/oauth/token?grant_type=password&username=xxxxx&password=xxxx

我的问题:

这种方法是否足够安全,因为它在URL上共享用户的凭据,如果它不是替代或改进的话?

向主机添加SSL认证是否可以解决这个问题?

由于

1 个答案:

答案 0 :(得分:1)

通过加密媒体进行明文身份验证并不罕见 - 因此加密连接上的未加密密码。

然而,我不会在网址中发送凭据。它看起来很糟糕,同一个用户可能会为该URL添加书签。

您可以将凭据放在 HTTP标头中,只要您通过加密连接发送凭据就可以了。

您拥有的另一个选择是:

  1. 让服务器为自己创建公钥和私钥
  2. 使用身份验证/登录pag
  3. 发送公钥
  4. JavaScript使用public ke
  5. 加密用户名和密码
  6. 通过HTTP或HTTPS发送(我仍然将其放在标题而不是网址中)
  7. 服务器使用私钥来解密和验证凭据
  8. <强> TL;博士
    最简单的解决方案是HTTP标头中的HTTPS和纯文本凭证