Как создать 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)

Заранее спасибо.

0 ответов

Другие вопросы по тегам