首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >阻塞JWT令牌AdonisJS

阻塞JWT令牌AdonisJS
EN

Stack Overflow用户
提问于 2020-11-12 06:29:35
回答 1查看 289关注 0票数 0

在我的应用程序中,我使用JWT对在Adonis中创建的后端进行身份验证。但是,我正面临一个问题。

由于JWT是无状态的,所以只能通过从客户端删除JWT来注销它。但是,我需要一个功能,在没有客户端交互的情况下,我试图从服务器端注销用户。所以,我读了几个博客,发现,实现这一点的最好方法是黑名单上使用的JWT令牌。

但是,现在的问题是,如果我尝试黑名单,AdonisJS只是保存令牌,我怎么能把它列入黑名单呢?我的意思是,如何比较包含完整JWT的授权头和其中编码的令牌?

基本上,如何从AdonisJS保存的记录的令牌列生成JWT?

如有其他可能,请提出建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-05 09:20:36

TL;博士

您可以简单地运行await auth.logout()。令牌将自动删除。

长答案:

您可以定义一条路由,例如/user/logout

Route.get('/user/logout, 'UsersController.logout')

然后打开控制器并实现注销方法。把这个放进去:

return await auth.logout()

这个1LoC将删除相应用户的当前令牌。但是,您可以手动完成此操作:

await Database.from('api_tokens').where('id', tokenId).delete()

其中tokenId是用户的令牌。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64798972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档