【发布时间】:2019-11-05 15:02:46
【问题描述】:
我决定加入潮流并开始使用 OAuth 2.0 和 OpenID Connect 来为我的下一个项目进行身份验证和授权,但我很难理解 JWT 的安全性。
我使用 Angular 8 作为前端,带有 node.js 后端,Auth0 作为我的身份服务提供者(我知道这是错误的术语。忘记了。)
我已经观看了两到三门关于这些主题的 PluralSight 课程,但没有一个真正在 node.js 后端使用 JWT,他们主要集中在 .NET 堆栈上,我猜这会花费大量精力.
我的问题是:如何确定发送到我的 API 的 JWT 令牌是来自 Auth0 的令牌?我知道令牌有一个签名,我想 Auth0 有一些他们用来签署 JWT 的私人秘密,但是什么是为了防止一些恶意实体创建一个内容完全相同的 JWT 并使用不同的秘密签名并将其发送到我的 API?在我看到的 .NET 示例中,我没有看到检查签名的秘密是否对应于 Auth0 的内容。需要对 API(.NET、node.js 或其他)进行哪些检查以确保 JWT 是真实的?
这将如何与 nodejs 一起工作?
【问题讨论】:
标签: node.js oauth-2.0 jwt openid-connect auth0