使用从 RoR 到烧瓶的 jwt "Invalid crypto padding"错误



我有一个奇异情况。出于不同的原因,我需要在Flask应用程序中使用Ruby on Rails中的应用程序生成的JWT,并使用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"
}

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

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

提前感谢

我不知道为什么,但如果我删除最后一个字符},令牌在Pyhton中也能工作。。。

相关内容

最新更新