使用REST进行Java应用程序登录验证?
我使用这个tutorial开发了一个简单的REST服务。需要的是用户名和密码的字符串。我的计划是简单地使用HTTP请求发送登录信息和加密密码,然后得到一个纯文本响应,比如说“成功”,表示登录成功。然而,我现在读到,即使密码以某种方式加密,这也是不安全的
我应该使用RESTful@GET请求来登录我的用户吗?有人能推荐一种更好的用户登录方式吗
你可以在下面搜索框中键入要查询的问题!
我使用这个tutorial开发了一个简单的REST服务。需要的是用户名和密码的字符串。我的计划是简单地使用HTTP请求发送登录信息和加密密码,然后得到一个纯文本响应,比如说“成功”,表示登录成功。然而,我现在读到,即使密码以某种方式加密,这也是不安全的
我应该使用RESTful@GET请求来登录我的用户吗?有人能推荐一种更好的用户登录方式吗
# 1 楼答案
如果要遵循REST constraints,服务器必须是无状态的,也就是说,服务器上不必保持会话状态。每个请求必须包含所有要完成的细节,而不依赖于以前的请求
如果您的客户机请求一个需要身份验证(和授权)的资源,则该请求必须包含要由服务器进行身份验证(和授权)的所有详细信息
这个answer应该可以让您很好地了解无状态约束是关于什么的
HTTP Basic authentication scheme是保护API安全的良好起点,在^{} 头中以用户名和密码对的形式传输凭据,用Base64编码:
其中
<credentials>
的计算如下:Base64(<username>:<password>)
凭据和otehr敏感详细信息只能在HTTPS连接顶部发送