Django DRF 两种接口安全机制及其配置
生活随笔
收集整理的這篇文章主要介紹了
Django DRF 两种接口安全机制及其配置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Django DRF 兩種接口安全機制及其配置
接口安全機制,用于設置和管理用戶調用接口時的權限問題。此處介紹最常用的兩種接口安全機制及其配置。
1 使用之前 先生成接口文檔 便于測試
1.1 安裝依賴
pip install coreapi2.2 設置接口文檔
在項目配置目錄下的urls.py中添加以下代碼:
from rest_framework.documentation import include_docs_urlspath('docs/', include_docs_urls(title="測試項目接口文檔")) #路徑和title可自定義在項目配置目錄下的全局配置文件settings.py中添加以下代碼:
REST_FRAMEWORK = {...'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.coreapi.AutoSchema', }2 DRF安全機制之Token配置
在項目配置目錄下的全局配置文件settings.py中添加以下代碼:
INSTALLED_APPS = [...'rest_framework','rest_framework.authtoken', ]REST_FRAMEWORK = {...,# 配置DRF Token'DEFAULT_AUTHENTICATION_CLASSES': ('rest_framework.authentication.TokenAuthentication', # Token 認證) }路由配置:在項目配置目錄下的urls.py中添加以下代碼:
... from rest_framework.authtoken.views import obtain_auth_tokenurlpatterns = [...,path('docs/', include_docs_urls(title="測試項目接口文檔")),# path('api-token-auth/', obtain_auth_token), # Auth Token ]3 DRF安全機制之JWT配置
前后端分離項目通常會使用JWT
1.1 安裝依賴
pip install djangorestframework-jwt2.2 設置接口文檔
在項目配置目錄下的全局配置文件settings.py中添加以下代碼:
INSTALLED_APPS = [...'rest_framework','rest_framework.authtoken', ]REST_FRAMEWORK = {...,# 配置DRF Token'DEFAULT_AUTHENTICATION_CLASSES': (# 'rest_framework.authentication.TokenAuthentication', # Token 認證'rest_framework_jwt.authentication.JSONWebTokenAuthentication', # JWT認證),'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.coreapi.AutoSchema',# 配置JWT'JWT_EXPIRATION_DELTA': datetime.timedelta(days=3), # 過期時間 'JWT_AUTH_HEADER_PREFIX': 'JWT', # 設置Token頭為 JWT xxxx'JWT_ALLOW_REFRESH': False,# 'JWT_RESPONSE_PAYLOAD_HANDLER': 'app8.jwt_utils.jwt_response_payload_handler' # 自定義認證消息 }在項目配置目錄下的urls.py中添加以下代碼:
from rest_framework_jwt.views import obtain_jwt_tokenurlpatterns = [...,path('docs/', include_docs_urls(title="測試項目接口文檔")),# path('api-token-auth/', obtain_auth_token), # Auth Tokenpath('api-jwt-token-auth/', obtain_jwt_token), # JWT Token ]4 使用方式
拿到Token或者JWT之后,使用方式:
Token/JWT格式: Token/JWT + 兩個空格 + 具體的Token
在Postman請求頭headers中添加Authorization及上述Token值。
總結
以上是生活随笔為你收集整理的Django DRF 两种接口安全机制及其配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《洋妞》万像电影节揽四奖 或打造同名综艺
- 下一篇: Wannfly挑战赛20 A 染色