首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Flask- JWT -Extended的create_access_token()设置JWT的'iss‘声明

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

Stack Overflow用户
提问于 2020-08-16 21:21:47
回答 1查看 700关注 0票数 0

有没有办法设置由Flask- JWT -Extended的create_access_token生成的JWT的iss声明?

我试图将国际空间站的声明放在create_access_token的参数'user_claims‘下:

代码语言:javascript
复制
access_token = create_access_token(
   identity=data['username'],
   expires_delta = timedelta(seconds=JWT_LIFE_SPAN),
   user_claims={'iss': ISSUER}
)

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

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

我试图从docs中寻找配置选项,但我找不到任何设置国际空间站的选项。有一个国际空间站设备,但它在user_claims下面。我想要完成的是将它设置为JWT的registered claims之一。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-16 21:37:14

我认为你可以利用encode_access_token接口,用issuer创建一个编码的访问代码。

示例:

代码语言:javascript
复制
 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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63437400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档