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