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