【发布时间】:2020-07-18 20:11:49
【问题描述】:
我正在 Node.js 和 Express 中编写 SSO 身份验证服务器,使用 JWT 进行身份验证。我一直在阅读来自 Auth0 等来源的文章,了解如何更好地保护我的 JWT。我已经能够包含并验证令牌上的大多数标准声明,但我想知道究竟要验证什么来验证“iat”和“sub”声明。
对于“iat”,当令牌传递到 Express 路由并且该路由在执行任何敏感操作之前开始检查用户的身份验证状态时,提供值来验证此声明的最佳实践是什么?我最好的猜测是在验证签名之前从令牌中提取 userId,然后将其与将存储在 users 表中的“iat”值进行比较,但这似乎不正确。
对于使用无状态服务器的“sub”,如果应用从经过验证的令牌本身获取其用户信息,应用应该如何知道预期和验证哪个用户的“sub”声明?
还是我对这些用例的理解有误?此服务器的目的是为此应用本身以及其他应用内的内容提供身份验证。
【问题讨论】:
标签: node.js express authentication jwt