您好我正在创建使用REST API端点与服务器端进行通信的移动本机应用程序。
我曾经有开发本地客户端的经验,但我有简单的令牌(随机生成的字符串)存储在数据库中的用户信息存储在同一个表中。所以它就像在浏览器中使用的会话,但不是Cookie,每个请求在标题中都有标记。JWT令牌登录和注销
最近我编辑了JWT令牌。这似乎是保护私密端点的好方法。您可以向移动客户端请求令牌,只要您通过+登录并获取生成的令牌即可。
但是重要的是这个令牌不存储在服务器上的任何地方,服务器使用私钥对服务器进行验证,秘密字对私人服务器是私有的。
对于受保护的端点无妨,但如果我需要用户会话时该怎么办,例如Facebook,Amazon,Aliexpress等应用程序如何工作,他们有能力在不提供凭据的情况下使用应用程序,只需浏览商店,但是当用户不想购买时需要登录。之后,用户会话保持一段时间。 这可以使用JWT令牌实现而没有任何问题,但是当用户需要注销时,在这种情况下该怎么办?令牌不会存储在服务器上的任何位置,那么如何销毁此令牌以使其无效?
如果令牌存储在数据库中,则API不是无状态的,因为REST API应该是。 所以一般来说,没有办法让用户登录到无状态的API中,对吗?
我有一些想法如何使用JWT令牌来实现这一点,但这也不会是无状态的API,据我所知。
- 创建过期令牌 名单
- 存储在数据库中智威汤逊的道理,但什么是自描述性的记号在这种情况下,目的(JWT),如果它被存储在数据库中,智威汤逊的主要思想如我所知,用令牌保留所有信息。
请建议在这种情况下最好的方法是什么,纠正我,如果我错了。
谢谢。
什么注销是最主要的问题我在我intrested – eemrxoha