日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Django DRF 两种接口安全机制及其配置

發布時間:2023/12/15 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Django DRF 两种接口安全机制及其配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Django DRF 兩種接口安全機制及其配置

接口安全機制,用于設置和管理用戶調用接口時的權限問題。此處介紹最常用的兩種接口安全機制及其配置。


1 使用之前 先生成接口文檔 便于測試

1.1 安裝依賴

pip install coreapi

2.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-jwt

2.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 两种接口安全机制及其配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。