在 Knock (rails) 中验证用 RS256 签名的 JWT 令牌

Posted

技术标签:

【中文标题】在 Knock (rails) 中验证用 RS256 签名的 JWT 令牌【英文标题】:Validate JWT token signed with RS256 in Knock (rails) 【发布时间】:2017-06-20 20:55:12 【问题描述】:

我正在尝试使用 Auth0 连接 React 应用和 Rails 应用。它曾经非常简单,因为令牌是用 HS256 签名的。但是由于 auth.js v8 jwt 令牌使用 RS256 签名。我的前端没有问题,但不能让 RoR(我使用 Knock)与新的签名算法一起工作。我已经添加了

config.token_signature_algorithm = 'RS256'

config.token_public_key = key.public_key

进入 Knock 初始化程序,但仍然没有运气。

Key 似乎是正确的,至少它可以在 jwt.io 或纯 ruby​​-jwt 中工作(至少我能够从 token 中读取信息)。

我不是使用非对称算法的专家,因此我们将不胜感激。我现在要做的是从前端获取“access_token”并将其以“授权”标头发送到后端。我知道我需要将“Bearer”添加到标题中,但是我需要先对令牌进行任何其他操作吗?

最好的,尤里

【问题讨论】:

【参考方案1】:

以防万一有兴趣的人在 GitHub 上进行简短讨论,这里是 link

【讨论】:

以上是关于在 Knock (rails) 中验证用 RS256 签名的 JWT 令牌的主要内容,如果未能解决你的问题,请参考以下文章

反应应用程序中来自axios POST的空响应,rails服务器显示201状态

使用 Knock gem 生成 JWT 令牌时出现 500 内部服务器错误

验证 Rails 登录

rails 3 使用设备进行身份验证

处理验证错误消息以查看 rails 4

用于跟踪验证错误的 Rails 插件