Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring security oauth2:grant_type=密码身份验证_Java_Spring_Spring Security_Oauth 2.0_Spring Security Oauth2 - Fatal编程技术网

Java Spring security oauth2:grant_type=密码身份验证

Java Spring security oauth2:grant_type=密码身份验证,java,spring,spring-security,oauth-2.0,spring-security-oauth2,Java,Spring,Spring Security,Oauth 2.0,Spring Security Oauth2,我正在使用springoauth2来保护web应用程序,并实现一个三条腿的安全系统,当涉及到使用 grant\u type=密码 我注意到,用于为用户获取令牌的URL是: Method : POST + Basic-Authentication header for the client http://host:port/api/oauth/token?grant_type=password&username=xxxxx&password=xxxx 我的问题是: 这种方法是否

我正在使用
springoauth2
来保护web应用程序,并实现一个三条腿的安全系统,当涉及到使用

grant\u type=密码

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

Method : POST + Basic-Authentication header for the client

http://host:port/api/oauth/token?grant_type=password&username=xxxxx&password=xxxx
我的问题是:

这种方法是否足够安全,因为它在
URL
上共享用户凭据,如果不是,还有什么替代方案或改进

向主机添加
SSL
认证是否是一种解决方案


谢谢

加密介质上的明文身份验证并不少见-因此,加密连接上的未加密密码

但是,我不会在URL中发送凭据。它看起来很糟糕,同一个用户可能会将该URL标记为书签

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


您的另一个选择是:

  • 让服务器为自己创建公钥和私钥
  • 使用身份验证/登录pag发送公钥
  • JavaScript使用公共密钥加密用户名和密码
  • 通过HTTP或HTTPS发送(我仍然会将其放在标题中,而不是URL中)
  • 服务器使用私钥解密和验证凭据

  • tl;dr

    最简单的解决方案是,HTTP头中的HTTPS和明文凭据使用Oauth2,授权类型、用户名和密码需要是URL或正文的一部分。当您请求访问令牌时,HTTPS会提供安全性,并且您不能将这些参数放入头中