在RESTful web app中管理登录信息

在RESTful web app中管理登录信息,rest,architecture,restful-architecture,Rest,Architecture,Restful Architecture,在RESTful应用程序中,两个请求之间没有状态保持。每个请求都被视为一个全新的请求,即使它本来是由同一个用户发送的。也就是说,没有会议 在这种情况下,REST应用程序如何处理用户登录信息 就是说,在成功登录之后,服务器生成一个安全令牌并将其发送给客户机,然后客户机将其发送回每个请求 如果上述为真,则安全令牌存储在服务器中的什么位置?数据库(记住:没有会话) 就是说,在成功登录之后,服务器生成一个安全令牌并将其发送给客户机,然后客户机将其发送回每个请求? 如果上述为真,则安全令牌存储在服务器中的

在RESTful应用程序中,两个请求之间没有状态保持。每个请求都被视为一个全新的请求,即使它本来是由同一个用户发送的。也就是说,没有会议

在这种情况下,REST应用程序如何处理用户登录信息

  • 就是说,在成功登录之后,服务器生成一个安全令牌并将其发送给客户机,然后客户机将其发送回每个请求
  • 如果上述为真,则安全令牌存储在服务器中的什么位置?数据库(记住:没有会话)
  • 就是说,在成功登录之后,服务器生成一个安全令牌并将其发送给客户机,然后客户机将其发送回每个请求? 如果上述为真,则安全令牌存储在服务器中的什么位置?数据库(记住:没有会话)

    Ehrm。将令牌发送到客户端,在每次后续请求时都会发送回该令牌,只是为了从服务器端的数据库中检索与该令牌相关的信息?这就是所谓的会议。这正是PHP会话所做的,除了将信息存储在文件中,而不是数据库中。您正在重新创建会话


    无论如何,我认为“没有会议,没有国家”的口号被高估了,不太实际。我认为存储一个包含令牌的简单cookie非常好,这样您就可以识别一个用户,并将(一些)数据与该用户关联起来。无论如何,我认为不存储应用程序状态(例如,用户以前做过什么,现在正在做什么)是最重要的

    或者您可以在令牌中对所有内容进行加密,并且每个请求都可以从该令牌获取所有用户信息,包括名称、时间戳等

    服务器只需要知道编码/解码算法

    更好的是,服务器可以调用身份验证服务(可以是完全独立的box)来对用户进行身份验证和授权

    简单总是好的

    可能重复的