如何使用 Flask-JWT-Extended 的 create_access_token() 设置 JWT 的 'iss' 声明
How to set the 'iss' claim of JWT using Flask-JWT-Extended's create_access_token()
有没有办法设置 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'}}
我试图从 docs, but I can't find any option to set the iss. There's an iss set, but it is under the user_claims. What I want to accomplish is to set it as one of the registered claims 中寻找 JWT 的配置选项。
我认为您可以利用 encode_access_token
api 并使用发行人创建编码访问代码。
示例:
encode_access_token(
identity=data['username'],
issuer=JWT_ISSUER,
expires_delta=timedelta(seconds=JWT_LIFE_SPAN),
...
):
有没有办法设置 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'}}
我试图从 docs, but I can't find any option to set the iss. There's an iss set, but it is under the user_claims. What I want to accomplish is to set it as one of the registered claims 中寻找 JWT 的配置选项。
我认为您可以利用 encode_access_token
api 并使用发行人创建编码访问代码。
示例:
encode_access_token(
identity=data['username'],
issuer=JWT_ISSUER,
expires_delta=timedelta(seconds=JWT_LIFE_SPAN),
...
):