簡體   English   中英

Django 不驗證或查看來自 Azure 的 JWT 令牌

[英]Django doesn't validate or see the JWT token from Azure

我在Django-rest后端使用azure-ad-verify-token 0.2.1來驗證來自Microsoft Azurejwt token ,用戶在前端使用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

如何從header中放置token=

總的來說,這是正確的方法嗎? 還是我錯過了什么? 任何幫助和提示都會非常有幫助,將不勝感激。 或者建議另一個庫在Python中進行token validation

  • azure-ad-verify-token這用於驗證從 azure ad 收到的令牌。

  • 您必須使用 MSAL python 庫從 azure 獲取身份驗證令牌,然后 azure-ad-verify-token 將驗證令牌。

  • 要檢索令牌,您將需要 MSAL python 庫,它還將clientidtenentd作為參數。

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 蟒蛇

使用 Azure SDK for Python 對 Python 應用進行身份驗證

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM