有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用REST进行Java应用程序登录验证?

我使用这个tutorial开发了一个简单的REST服务。需要的是用户名和密码的字符串。我的计划是简单地使用HTTP请求发送登录信息和加密密码,然后得到一个纯文本响应,比如说“成功”,表示登录成功。然而,我现在读到,即使密码以某种方式加密,这也是不安全的

我应该使用RESTful@GET请求来登录我的用户吗?有人能推荐一种更好的用户登录方式吗


共 (1) 个答案

  1. # 1 楼答案

    Should I be using a RESTful @GET request for logging my users in? Could someone recommend a better way to do user log ins?

    如果要遵循REST constraints,服务器必须是无状态的,也就是说,服务器上不必保持会话状态。每个请求必须包含所有要完成的细节,而不依赖于以前的请求

    如果您的客户机请求一个需要身份验证(和授权)的资源,则该请求必须包含要由服务器进行身份验证(和授权)的所有详细信息

    这个answer应该可以让您很好地了解无状态约束是关于什么的


    HTTP Basic authentication scheme是保护API安全的良好起点,在^{}头中以用户名和密码对的形式传输凭据,用Base64编码:

    Authorization: Basic <credentials>
    

    其中<credentials>的计算如下:Base64(<username>:<password>)

    凭据和otehr敏感详细信息只能在HTTPS连接顶部发送