一、认证
1.Browsable API页面认证与JWT认证比较
1.Browsable API页面认证
指定permission_classes
添加rest_framework.urls路由
2.Json Web Token认证
最常用的认证方式
Session认证
Token认证
Session认证
保存在服务端,增加服务器开销
分布式架构中,难以维持Session会话同步
CSRF攻击风险
Token认证
保存在客户端
跨语言、跨平台
拓展性强
鉴权性能高
JWT
由三部分组成
header、playload、signature
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhemF6aWUiLCJhdWQiOiJ1c2VycyIsImlhdCI6MTU5NTY3NTA1NiwiZXhwIjoxNTk2Mjc5ODU2LCJ1c2VyX2lkIjozMDI3NTQxfQ.vJPcwpw4_WBLGBkXO3SUPbyfgDzk4S3FwWzJrCtvhwA
header
声明类型
声明加密算法,默认为HS256
base64加密,可以解密
playload
存放过期时间、签发用户等
可以添加用户的非敏感信息
base64加密,可以解密
signature
有三部分组成
使用base64加密之后的header+.+使用base64加密之后的playload+.+使用HS256算法加密,同时secret加盐处理
2.Browsable API页面认证
1.源码
‘DEFAULT_AUTHENTICATION_CLASSES’: [
‘rest_framework.authentication.SessionAuthentication’,
‘rest_framework.authentication.BasicAuthentication’
]
2.说明
BasicAuthen