python
auth_error
ai_generated
true
fastapi.exceptions.HTTPException: 401 Unauthorized: Token expired
ID: python/fastapi-oauth2-token-expired
80%Fix Rate
84%Confidence
0Evidence
2025-10-15First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| 3.9 | active | — | — | — |
| 3.10 | active | — | — | — |
Root Cause
OAuth2 令牌已过期,需要刷新
generic中文
OAuth2 令牌已过期,需要刷新
Workarounds
-
90% success 实现令牌刷新机制
from fastapi.security import OAuth2PasswordBearer oauth2_scheme = OAuth2PasswordBearer(tokenUrl='token', auto_error=False) @app.post('/refresh') def refresh(token: str = Depends(oauth2_scheme)): new_token = create_access_token(...) return {'access_token': new_token} -
85% success 在客户端捕获 401 并刷新令牌
response = requests.get(url, headers={'Authorization': f'Bearer {token}'}) if response.status_code == 401: token = refresh_token() response = requests.get(url, headers={'Authorization': f'Bearer {token}'})
Dead Ends
Common approaches that don't work:
-
忽略过期并继续使用旧令牌
95% fail
服务器会拒绝请求
-
延长令牌有效期而不刷新
70% fail
安全风险增加