我正在使用authlib开发身份验证服务器。
默认Bearer令牌创建是存储在数据库中的随机字符串。
我想要的是生成一个JWT,并且不将其存储在数据库中。
我正在使用OAUTH2_ACCESS_TOKEN_GENERATOR
选项生成令牌:
from datetime import datetime, timedelta
from authlib.jose import jwt
def gen_token(*args, **kwargs):
key_location = '/path/to/key/id_rsa'
header = {'alg': 'RS256'}
payload = {
'iat': datetime.utcnow(),
'exp': datetime.utcnow() + timedelta(seconds=3600)
}
t = jwt.encode(header, payload, open(key_location, 'r').read())
return t
如何避免使用client_credentials
授予来存储生成的令牌?
答案 0 :(得分:0)
您可以通过传递“不执行任何操作” save_token
函数来避免保存令牌。
https://docs.authlib.org/en/latest/flask/2/authorization-server.html#server
def save_token(token, request):
pass
server = AuthorizationServer(..., save_token=save_token)