![](/img/trans.png)
[英]How do I get the JWT tokens from user in Django RestFramework
[英]Cannot get jwt tokens sent from frontend in backend
我是 Django 和 simplejwt 的新手,我遇到了一個問題。 令牌從我們的 Angular 前端以“app_token”和“access_token”的名稱發送給我,但我找不到在我的 Django 代碼中檢索它們的方法。 我嘗試過像“HTTP_APP_TOKEN”和“HTTP_ACCESS_TOKEN”這樣的名稱,甚至讓我們的前端團隊重命名令牌,但這也沒有幫助。 有沒有人有任何想法?
由於我還沒有足夠的聲譽來添加評論,我想確定您是否使用nginx來轉發您的請求。 如果是,也許關注答案會有所幫助,否則,請評論我刪除。
默認情況下,Nginx 忽略帶有下划線的標題。 這可以解釋為什么您的標頭屬性(如app_token
、 access_token
)無法傳遞到后端。
1> 你可以在你的nginx 配置中設置underscores_in_headers
。
2> 使用不帶下划線的標題preperty。
您可以從請求中獲取令牌; 例如,您使用 IsAuthenticated 權限保護視圖,並且您在視圖中有一個方法名稱
def get(self, request):
token = request.headers['Authorization']
# other code
如果您使用過 simplejwt,則令牌會像Bearer access_token
一樣從前端作為標頭傳遞
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.