1

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

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

发生这种情况是因为 App Engine(标准环境)不支持 cryptography.io,因为它使用 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)

提前致谢。

4

0 回答 0