jwt - 在应用程序映像重建之前发出的 JWT 在映像构建/部署后不起作用
问题描述
我的应用程序使用 SPA 客户端和 Phoenix/Elixir 后端,并带有 jwt 身份验证(通过 Guardian 库)。该应用程序是使用 GCP 上的 Docker 部署的。
我有以下问题:
我是已获得 jwt 的经过身份验证的用户。一切正常。
重新构建、重新部署生产应用程序的 docker 映像,并重新启动服务器。
我在重建之前发出的 jwt 令牌不再有效。
我很难找到导致这种情况的原因。看起来 Guardian 配置中使用的密钥在config.exs
不同版本中总是相同的。
任何帮助表示赞赏!
解决方案
有效负载的内容正在用于验证消息,并且某些字段已更改,导致 JWT 被服务器视为无效,或者密钥实际上已更改并且您的断言不正确。
我解决这个问题的方法是使用预先开发的工具来验证 JWT。您的密钥要么可用于验证签名,要么不能。无需“猜测”。
推荐阅读
- plotly.js - 在我的 html 网页中绘制的图表根本没有呈现
- java - 如何在 Spring Boot 或 Java 中为变量验证创建验证实用程序
- github - 在 Slack 上使用 Github App 取消订阅回购
- elasticsearch - 弹性搜索未返回附近输入日期的记录
- spring - Feign客户端日志级别干预pdf二进制内容
- r - 计算字母到数字和数字到字母的转换
- python - 删除 0 并在 pandas 的每个数字中添加“”
- angular - 角度多点滑块的建议
- javascript - 使用此代码,我将如何在 JavaScript 中为精灵设置动画以在屏幕上闪烁 2 种不同颜色?或者更确切地说,我将如何解决它?
- javascript - 导航标签在点击时不会改变