Flask认证概述 #
一、认证概念 #
1.1 认证与授权 #
| 概念 | 说明 |
|---|---|
| 认证(Authentication) | 验证用户身份(你是谁) |
| 授权(Authorization) | 验证用户权限(你能做什么) |
1.2 认证方式 #
| 方式 | 说明 | 适用场景 |
|---|---|---|
| Session | 服务端存储会话 | 传统Web应用 |
| Token | 客户端存储令牌 | API、单页应用 |
| OAuth | 第三方授权 | 社交登录 |
二、Session认证 #
2.1 工作原理 #
text
用户登录
↓
服务器验证
↓
创建Session
↓
返回Session ID
↓
客户端存储Cookie
↓
后续请求携带Cookie
2.2 Flask Session #
python
from flask import session
# 设置session
session['user_id'] = user.id
# 获取session
user_id = session.get('user_id')
# 删除session
session.pop('user_id', None)
三、Token认证 #
3.1 工作原理 #
text
用户登录
↓
服务器验证
↓
生成Token
↓
返回Token
↓
客户端存储Token
↓
请求携带Token
↓
服务器验证Token
3.2 JWT Token #
python
import jwt
# 生成Token
token = jwt.encode({'user_id': user.id}, 'secret', algorithm='HS256')
# 验证Token
data = jwt.decode(token, 'secret', algorithms=['HS256'])
四、下一步 #
接下来让我们学习 Flask-Login,了解用户会话管理!
最后更新:2026-03-28