You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于FastAPI Docs安全示例的登录系统问题求助

问题1:登录接口返回200但触发bcrypt版本读取错误

错误原因

passlib旧版本与bcrypt 4.1.0+版本不兼容——bcrypt 4.1.0移除了__about__模块,但旧版passlib仍尝试读取该属性。

解决办法

二选一即可:

  • 降级bcrypt到兼容版本:
    pip uninstall bcrypt
    pip install bcrypt==4.0.1
    
  • 升级passlib到修复兼容问题的版本:
    pip install --upgrade passlib>=1.7.4
    
问题2:调用认证接口返回"Not authenticated"但Docs授权正常

错误原因

请求时未正确携带JWT token,或token格式不符合要求。FastAPI的JWT认证默认要求token放在Authorization请求头中,格式为Bearer <你的token字符串>。

解决办法

  1. 检查请求头格式:确保请求头中包含Authorization字段,值为Bearer 加你的JWT token(注意Bearer和token之间有空格)。示例curl请求:
    curl -H "Authorization: Bearer your_jwt_token_here" http://localhost:8000/users/me/
    
  2. 验证认证依赖逻辑:检查get_current_active_user函数,确保:
    • 正确从请求头解析token
    • 验证token签名有效
    • 确认用户的active字段为True(如果你的逻辑包含激活状态判断)

内容的提问来源于stack exchange,提问作者yavuzakyazici

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 20:34:51