首页 > 解决方案 > 在应用程序映像重建之前发出的 JWT 在映像构建/部署后不起作用

问题描述

我的应用程序使用 SPA 客户端和 Phoenix/Elixir 后端,并带有 jwt 身份验证(通过 Guardian 库)。该应用程序是使用 GCP 上的 Docker 部署的。

我有以下问题:

  1. 我是已获得 jwt 的经过身份验证的用户。一切正常。

  2. 重新构建、重新部署生产应用程序的 docker 映像,并重新启动服务器。

  3. 我在重建之前发出的 jwt 令牌不再有效。

我很难找到导致这种情况的原因。看起来 Guardian 配置中使用的密钥在config.exs不同版本中总是相同的。

任何帮助表示赞赏!

标签: jwtphoenix-frameworkguardian

解决方案


有效负载的内容正在用于验证消息,并且某些字段已更改,导致 JWT 被服务器视为无效,或者密钥实际上已更改并且您的断言不正确。

我解决这个问题的方法是使用预先开发的工具来验证 JWT。您的密钥要么可用于验证签名,要么不能。无需“猜测”。


推荐阅读