【问题标题】:JWT issued before application image rebuild does not work after image build/deploy在应用程序映像重建之前发出的 JWT 在映像构建/部署后不起作用
【发布时间】:2018-08-24 20:18:53
【问题描述】:

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

我遇到以下问题:

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

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

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

我无法找到导致此问题的原因。看起来config.exs Guardian 配置中使用的密钥在不同版本中总是相同的。

感谢任何帮助!

【问题讨论】:

    标签: jwt phoenix-framework guardian


    【解决方案1】:

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

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

    【讨论】:

    • 这个问题与后端完全无关。发生的情况是客户端应用程序的重建将导致我们的 http javascript 库“丢失”Authorization 标头,直到用户再次登录。感谢@KyleM 的回答。
    猜你喜欢
    • 2020-05-20
    • 1970-01-01
    • 2021-11-05
    • 2017-06-04
    • 2022-09-28
    • 1970-01-01
    • 2021-07-11
    • 1970-01-01
    • 2020-06-09
    相关资源
    最近更新 更多