如何在GAE中使用ES256创建JWT

2024-10-16 17:17:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发一个googleappengine解决方案,它需要与一个API集成,其中身份验证是通过JWT完成的。要使用的加密算法是ES256,但是每次我尝试用ES256调用jwt.encode()方法时,都会抛出以下错误:

ImportError: No module named cryptography.hazmat.bindings._constant_time

这是因为密码.io在App Engine(standard env)上不支持,因为它使用CFFI(C外部函数接口)。在

有没有其他推荐的方法可以从我的Python App Engine应用程序中使用ES256创建这个JWT?在

以下是简化代码:

import jwt

keystring = """-----BEGIN PRIVATE KEY-----
SECRET
-----END PRIVATE KEY-----"""

HEADERS = {'alg': 'ES256', 'kid': '1234SECRET', 'typ': 'JWT'}
PAYLOAD = {
    'iss': 'secret-secret-secret',
    'exp': time.time() + 20 * 60,
    'aud': 'audience'
}

key = jwt.encode(PAYLOAD, keystring, algorithm='ES256', headers=HEADERS)

提前谢谢。在


Tags: 方法keyappsecrettimeprivatejwtengine