当前位置: 首页 > 知识库问答 >
问题:

在REST API上“注销”没用吗?

云文栋
2023-03-14

共有1个答案

周伟泽
2023-03-14

我的意思是,我正在使用加密的JWT创建一个REST API

JSON Web令牌(JWT)令牌将有关授权的所有数据编码到令牌本身。这种方法最重要的优点是,您根本不需要用于令牌存储的后端存储。一个缺点是您不能轻易地撤销访问令牌,因此它们通常在短时间内被授予,并且撤销在刷新令牌中处理。另一个缺点是,如果在令牌中存储大量用户凭据信息,则令牌可能会变得相当大。因此如果:

如果我将API生成的最后一个令牌保存在数据库表中,将执行“注销”操作,将它们从有效令牌表中删除

在我看来,如果您打算使用JWT,那么是的!最好还是依靠令牌到期。有关此方法的更多细节,您可以查看此问题。

在REST API上“注销”没用吗?

不管你使用的是JWT这一事实,以及类似于html" target="_blank">计算机科学上任何其他像样的问题,答案都是视情况而定。无状态最重要的优点是API的可伸缩性更强。如果您选择了这个路径,那么您的API上的每个请求都应该经过身份验证,因为您可能需要在后端存储中搜索给定的令牌或解码一个JWT令牌。因此,在这种情况下,您可能会在单个节点上付出一些性能代价,但从总体上看,您仍然具有可伸缩性。我想我想说的是,如果您不需要这种可伸缩性,那么最好选择有状态的方法。否则,纯粹的REST原则就是一条路要走。

 类似资料:
  • 它给出: 下面是我使用的代码: 方法verifyUserExistance是; 我就是这样处理注销的;

  • 我正在用Firebase设置身份验证。我成功登录了,但当我注销时,我的应用程序崩溃了 我在activity_menu上创建菜单。菜单项名为log_out。如果用户单击此项,则必须注销 我尝试这段代码查看错误,但它没有显示给我 我以为它是成功运行的,我没有看到任何错误。我怎么知道呢?

  • 我使用已签名的URL从使用Air的移动设备上传blob。 我有两个问题: 使用签名 URL 上传 Blob 时,我假设我不需要按照文档中所述包含所有标头。我是否认为我只需要对URL执行请求,并将编码到正文中的文件包含在正文中,设置为? http://msdn . Microsoft . com/en-us/library/windows azure/DD 179451 . aspx (Upload

  • 我制作了一个Android应用程序。我使用GCM推送通知。当用户登录时,我正在向GCM注册设备。我使用外部MySql数据库来存储用户的注册ID。它工作得很好。 但是 当我做了以下步骤: 在我的手机上安装了我的应用程序。 用用户1登录。 从我的手机卸载应用程序。 再次安装应用程序。 用用户2登录。 我的手机仍会收到user1通知,这意味着卸载应用程序时GCM没有注销我的设备。 我不能删除的应用程序卸

  • 问题内容: 我正在考虑为我的应用程序使用OAuth2。我尝试实现的体系结构如下: 我将拥有自己的(仅此)授权服务器 一些资源应用程序使用授权服务器验证对资源的访问 某些客户端应用程序(网络,移动设备)会将用户重定向到授权服务器进行身份验证,如果成功,则会在资源应用程序上使用api。 到目前为止,我已经成功实现了3个基本应用程序(1个身份验证服务器,1个资源服务器和1个客户端)之间的交互。我无法正常