如何使用 Flask-JWT-Extendeded 的 create_access_token() 设置 JWT 的'iss'声明



是否有方法设置由Flask JWT Extended的create_access_token生成的JWT的iss声明?

我试图将iss声明放在create_access_token:的参数"user_claims"下

access_token = create_access_token(
identity=data['username'],
expires_delta = timedelta(seconds=JWT_LIFE_SPAN),
user_claims={'iss': ISSUER}
)

然而,当我从资源服务器端使用PyJWT解码令牌时,它看起来是这样的:

{'iat': 1597581227, 'nbf': 1597581227, 'jti': '4e6c9677-d698-421c-91c4-0b2f3a6da4e9', 'exp': 
1597583027, 'identity': 'asdf', 'fresh': False, 'type': 'access', 'user_claims': {'iss': 
'sample-auth-server'}}

我试图从文档中查找配置选项,但找不到任何设置iss的选项。有一个iss集,但它在user_claims下。我想完成的是将其作为JWT的注册索赔之一。

我认为您可以使用encode_access_tokenAPI并使用issuer创建一个编码的访问代码。

示例:

encode_access_token(
identity=data['username'],
issuer=JWT_ISSUER,
expires_delta=timedelta(seconds=JWT_LIFE_SPAN),
...
):

参考:https://github.com/vimalloc/flask-jwt-extended/blob/5bd8b1ed08ea64d23869a629af3c3c868816b8a8/flask_jwt_extended/tokens.py#L34

相关内容

  • 没有找到相关文章

最新更新