Django не проверяет или не видит JWT-токен из Azure

Я использовал azure-ad-verify-token 0.2.1 на бэкенде Django-rest для проверки jwt token от Microsoft Azure, где пользователь аутентифицирован на фронтенде с помощью React.

Согласно документации, эта библиотека должна делать все сама.

from azure_ad_verify_token import verify_jwt

azure_ad_app_id = 'my app id'
azure_ad_issuer = 'https://exampletenant.b2clogin.com/0867afa-24e7-40e9-9d27-74bb598zzzzc/v2.0/'
azure_ad_jwks_uri = 'https://exampletenant.b2clogin.com/exampletenant.onmicrosoft.com/B2C_1_app_sign_in/discovery/v2.0/keys'
payload = verify_jwt(
    token='<AZURE_JWT_TO_VERIFY_HERE>',
    valid_audiences=[azure_ad_app_id],
    issuer=azure_ad_issuer,
    jwks_uri=azure_ad_jwks_uri,
    verify=True,
)

print(payload)

Я не понимаю строку token='<AZURE_JWT_TO_VERIFY_HERE>', как я могу поместить туда токен?

Авторизация из Azure на React проходит успешно, и я получаю access jwt-token, который я могу извлечь:

token = request.headers['Authorization']

Но мне нужно проверить его и как-то вставить в строку token='<AZURE_JWT_TO_VERIFY_HERE>', но он не распознает request здесь.

Как я могу поставить token= из header?

И вообще, правильный ли это путь? Или я что-то упустил? Любая помощь и подсказки будут очень полезны и будут высоко оценены. Или посоветуйте другую библиотеку для token validation в Python.

  • azure-ad-verify-token Это используется для проверки токенов, полученных от azure ad.

  • Вы должны получить токены auth от azure с помощью библиотеки MSAL python, а azure-ad-verify-token затем проверит токен.

  • Для получения токенов вам понадобится библиотека MSAL python, а также также будет принимать clientid и tenentd в качестве аргументов.

test_app=PublicClientApplication(client_id=client_id,authority="https://login.microsoftonline.com/"+tenant_id)

test_tokens=test_app.acquire_token_interactive(scopes=scopes)

  • Теперь вы можете взять только что полученный жетон и использовать его вazure-ad-verify-token.

token=test_tokens['access_token']

Ссылка:

MSAL Python

Аутентификация приложений Python с помощью Azure SDK для Python

Вернуться на верх