1

我正在使用authlib开发身份验证服务器。

默认不记名令牌创建是存储在数据库中的随机字符串。

我想要的是生成一个 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授权存储生成的令牌?

4

1 回答 1

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)
于 2019-06-08T12:36:13.057 回答