【问题标题】:Error "Invalid crypto padding" using jwt from RoR to Flask使用从 RoR 到 Flask 的 jwt 出现错误“无效的加密填充”
【发布时间】:2020-07-31 00:24:36
【问题描述】:

我有一个奇异的案例。由于不同的原因,我需要使用由 Ruby on Rails 中的应用程序生成的 JWT,在 Flask 应用程序中,Flask-JWT-Extended

- 编辑:

现在我知道了,令牌是由 Devise 库(是真的吗?)在一个神奇的 sign_in 方法中生成的(IDK 关于 Ruby 和 RoR,抱歉)。

这个神奇的(对我来说)方法会生成一个像这样的令牌:

eyJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjo2MSwiZXhwIjoxNTg3MjIyMjQ5fQ.KcqNDwNjkTPD6rKgTMrt2lw9Swso6gRvLhPq-QvfA6Q}

在 Python 中,我有一个 Flask-JWT-Extended 的正常配置。在配置中我有:

class Config(object):
    JWT_AUTH_USERNAME_KEY = 'user_id'
    JWT_AUTH_HEADER_PREFIX = 'Bearer'
    SECRET_KEY = os.getenv('SECRET_KEY')
    JWT_IDENTITY_CLAIM = 'user_id'

但是,当我在 Flask 中使用“魔法”令牌调用应用程序时,会返回错误:

{
    "msg": "Invalid crypto padding"
}

我在两个应用程序中拥有相同的密钥。

我对 Ruby 了解不多,也不知道会发生什么。

提前致谢

【问题讨论】:

    标签: python ruby-on-rails ruby flask jwt


    【解决方案1】:

    我不知道为什么,但如果我删除最后一个字符 },则令牌也适用于 Pyhton...

    【讨论】:

    • 和我一样,删除最后一个字符后,令牌工作正常
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-01
    • 1970-01-01
    • 2018-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多