【Python web 開發】第七章 開發總結
第七章開發總結:整理一下我們的知識點:
1、首先是django rest framwork 的token 登入和原理
django rest framwork 為我們提供了三種 認證模式
重點是 TokenAuthentication 這個 可以根據api guide 上面一步步的來配置,要配置一個url ,請求生成token
但是這個有弊端,因為這裡生成的token 是儲存到資料庫中,如果是分散式系統,每次都要同步token到另外一臺伺服器上,顯然就很麻煩,第二個就是沒有過期時間限制,這個很不安全
因此我們引入了 jwt (jason web token)模式生成token
2、jwt 生成token
這個是在gitbub 上面一個開源的第三方外掛,要 pip install django rest framwork_jwt ,具體的gitbub 上面也有使用文件,一步步的來
3.一個延伸
django 從請求到響應都經歷了什麼:
這裡我清楚了setting 裡面middwire 的配置有什麼意義了
setting中註冊的middleware會將使用者request的資料經過這些middlware中有process_request方法和process_response方法註冊進入。
當用戶的request進入view之前會將這些process_request通通呼叫一遍
4、有些介面請求是要登入的情況下才能請求的,比如我的訂單,那麼我們可以單獨的對每個介面進行配置
如果要token才能請求的話,這樣配置,以goods_list 介面舉例
5、自定義使用者認證函式
自定義使用者認證函式要繼承ModelBackend,並且要重寫 authenticate 方法
使用者既可以用手機號碼登入,也可以用使用者名稱登入