我的应用程序使用SPA客户端和Phoenix/Elixir后端,具有jwt身份验证(通过Guardian库(。应用使用 GCP 上的 Docker 进行部署。
我遇到了以下问题:
-
我是经过身份验证的用户,已获得 jwt。一切正常。
-
将重新生成、重新部署生产应用程序的 docker 映像,并重新启动服务器。
-
我在重建之前颁发的 jwt 令牌不再有效。
我很难找到导致这种情况的原因。看起来config.exs
Guardian 配置中使用的密钥在构建中始终相同。
任何帮助不胜感激!
要么有效负载的内容用于验证消息,并且某些字段已更改,导致服务器认为 JWT 无效,要么机密实际上已更改并且您的断言不正确。
我解决这个问题的方法是使用预先开发的工具来验证 JWT。您的密钥要么可用于验证签名,要么不能。无需"猜测"。