2017-09-04 90 views
1

我想爲我的項目實現JWT身份驗證,因爲這似乎是所有身份驗證過程中最簡單的一個 - 但我並不完全瞭解用戶如何使用JWT-auth實際登錄。如果有人可以分享一些閱讀材料或提供關於使用JWT的用戶登錄工作流程的一些見解,這將會很有幫助。 我自己的想法是有些沿着這些線路:Django Rest Framework(DRF)Json Web Token(JWT)身份驗證和登錄過程

  • 的前端將通過DRF API一個obtain_jwt請求傳遞給後臺
  • API返回一個JSON格式的道理,如果用戶名和密碼都提供

從這裏我不明白未來需要做什麼。後端是否需要做其他事情來完成認證/登錄過程?我需要使用DRF權限執行其他任何操作嗎?

如果這樣完成了登錄過程,那麼還有一些其他的錯誤我。例如,我有一個APIView LoginView,它有一個post方法來處理登錄過程。現在,前端是否需要調用gets_jwt函數來獲取函數,然後對LoginView執行另一個後置方法?或者有沒有辦法從該LoginView中返回json-web-token?

如果有人能爲我回答這些問題或提供一些幫助我更好地理解此登錄過程的總體工作流程的閱讀材料,這將非常有幫助。謝謝。

編輯:我的登錄過程被做處理Facebook登錄 - 只是爲了讓觀衆知道:)

回答

1

這並不複雜的後向你解釋。一般工作流程如下:

  • 客戶端通過javascript(ajax)發送POST請求的用戶名和密碼。
  • DRF接收它,驗證並以json格式將令牌返回給客戶端。
  • 客戶端接收令牌並存儲它。令牌存儲在ajax設置的頭文件中,因此此應用程序中的所有後續調用都在頭中具有令牌。
  • 現在只需定期進行api調用,並通過DRF讀取並接受的標頭自動提交認證。

請參閱this

+0

感謝您的回覆:非常感謝 – flaire

+0

沒問題。樂意效勞。你能接受答案嗎? ;) – Tico