1. 程式人生 > 實用技巧 >DRF JWT使用

DRF JWT使用

JWT 擴充套件使用

需求:

1)伺服器在驗證完使用者的身份後(檢驗使用者名稱和密碼),需要生成jwt token並返回給客戶端。

2)在客戶端將jwt token傳遞給伺服器時,伺服器需要對jwt token資料進行校驗。

關於jwt token的生成和校驗,都可以使用DRF JWT擴充套件來完成。

JWT 官方文件http://getblimp.github.io/django-rest-framework-jwt/

1. 使用

1)安裝

pip install djangorestframework-jwt -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

2)配置: 在Django專案的配置檔案settings.py裡新增程式碼

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': (
        # 引入JWT認證機制,當客戶端將jwt token傳遞給伺服器之後
        # 此認證機制會自動校驗jwt token的有效性,無效會直接返回401(未認證錯誤)
        'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
        'rest_framework.authentication.SessionAuthentication
', 'rest_framework.authentication.BasicAuthentication', ), } # JWT擴充套件配置 JWT_AUTH = { # 設定生成jwt token的有效時間 'JWT_EXPIRATION_DELTA': datetime.timedelta(days=1), }

3)手動生成jwt tokenJWT擴充套件的說明文件中提供了手動生成jwt token的方法。

from rest_framework_jwt.settings import api_settings

jwt_payload_handler 
= api_settings.JWT_PAYLOAD_HANDLER jwt_encode_handler = api_settings.JWT_ENCODE_HANDLER payload = jwt_payload_handler(user) token = jwt_encode_handler(payload)

2. 總結:

JWT擴充套件

  • 功能:生成jwt token和校驗jwt token
  • 安裝:pip install djangorestframework-jwt
  • 配置:DRF框架引入jwt認證機制並設定生成jwt token的有效期