令牌身份验证和注销功能
问题描述:
在非常基本的令牌身份验证中,登录过程只是提供凭据并获取令牌。使用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