令牌身份验证和注销功能

问题描述:

在非常基本的令牌身份验证中,登录过程只是提供凭据并获取令牌。使用RESTful API,令牌包含在标头中用于任何API调用,以暗示用户已登录。令牌身份验证和注销功能

我的问题是,注销过程是什么样子?

  • 在服务器端删除令牌?如果用户要从网站注销但希望保持登录状态,该怎么办?
  • 从客户端删除令牌?服务器不应该强制执行吗?
  • 服务器应该如何使令牌无效?

注销机制是如何实现的?

我认为注销操作只是使服务器端的令牌无效(在数据库中将其删除,将标志过期设置为false,...)。如果您想支持多种REST客户端,则应该能够指定要获取安全令牌的设备。在这种情况下,您将能够分别使其失效。

要提供设备种类,您可以标头user-agent或提供您自己的标题。

也许这个链接可以帮助您设计令牌管理:http://templth.wordpress.com/2015/01/05/implementing-authentication-with-tokens-for-restful-applications/

您谈到了Web模式。对于这个用例(这是有点特别的,因为浏览器隐含地为你保存了令牌),我想你会使用cookies。所以是的,对于这种特定的用例,相应的cookie也必须失效。

希望它有帮助。 Thierry