所以我在SpringBoot2中使用OAuth2来尝试SpringSecurity。
我将此网站作为我的参考:
https://dzone.com/articles/secure-spring-rest-with-spring-security-and-oauth2
一旦设置了授权服务器,就可以使用
http://localhost:8080/oauth/token
通过传递post请求来结束。
使我感到恶心的是,post请求必须将我的用户名和密码以纯文本的形式显示。
POST /oauth/token HTTP/1.1
Host: localhost:8080
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="grant_type"
password
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="username"
admin
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="password"
password
------WebKitFormBoundary7MA4YWxkTrZu0gW--
这不是一个很大的安全威胁吗?
在从客户机到服务器的过程中,每一个路由器都能看到邮件正文的内容吗?
现在,为了解决这个问题,假设我使用JavaScript中的客户端对称加密算法来加密密码。因为所有的客户机都会得到相同的加密算法,沿途的路由器可以对称地解码我的密码。这还不够好。
如果我必须以明文形式通过信用证,那么Spring Security的用途是什么?
我在这里做错什么了吗?大公司不可能用这个。
在春季安保系统中是否有其他设施允许我们防止这种情况发生?