Как создать JWT с помощью ES256 в GAE
Я работаю над решением Google App Engine, которое должно интегрироваться с API, где аутентификация выполняется с помощью JWT. Используемый алгоритм шифрования - ES256, но каждый раз, когда я пытаюсь вызвать jwt.encode()
При использовании метода ES256 выдается следующая ошибка:
ImportError: No module named cryptography.hazmat.bindings._constant_time
Это происходит потому, что cryptography.io не поддерживается в App Engine (стандартный env), так как он использует CFFI (интерфейс внешних функций C).
Существуют ли другие рекомендуемые подходы для создания этого JWT из моего приложения Python App Engine и с использованием ES256?
Вот упрощенный код:
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)
Заранее спасибо.