赞
踩
接口安全机制,用于设置和管理用户调用接口时的权限问题。此处介绍最常用的两种接口安全机制及其配置。
pip install coreapi
在项目配置目录下的urls.py
中添加以下代码:
from rest_framework.documentation import include_docs_urls
path('docs/', include_docs_urls(title="测试项目接口文档")) #路径和title可自定义
在项目配置目录下的全局配置文件settings.py
中添加以下代码:
REST_FRAMEWORK = {
...
'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.coreapi.AutoSchema',
}
在项目配置目录下的全局配置文件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_token
urlpatterns = [
...,
path('docs/', include_docs_urls(title="测试项目接口文档")),
# path('api-token-auth/', obtain_auth_token), # Auth Token
]
前后端分离项目通常会使用JWT
pip install djangorestframework-jwt
将认证方式指定为JWTToken认证,并且配置Token的格式、过期时间等属性。
在项目配置目录下的全局配置文件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_token
urlpatterns = [
...,
path('docs/', include_docs_urls(title="测试项目接口文档")),
# path('api-token-auth/', obtain_auth_token), # Auth Token
path('api-jwt-token-auth/', obtain_jwt_token), # JWT Token
]
- Token/JWT格式: Token/JWT + 两个空格 + 具体的Token
- 在Postman
请求头headers中
添加Authorization及上述Token值。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。