【发布时间】: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