Dyl*_*ost 4 python authentication oauth jwt fastapi
我正在使用 FastAPI 的用户指南(JWT/Bearer 令牌)中详述的身份验证方案。当我尝试从/token端点获取令牌时,请求在路径操作函数运行之前失败。这是有问题的函数:
async def login_for_access_token(form_data: OAuth2PasswordRequestForm = Depends(), session: SessionLocal = Depends(get_db)):
user = authenticate_user(session, form_data.username, form_data.password)
if not user:
raise HTTPException(
status_code=status.HTTP_401_UNAUTHORIZED,
detail="Incorrect username or password",
headers={"WWW-Authenticate": "Bearer"},
)
access_token = create_access_token(data={"sub": user.id})
return {"access_token": access_token, "token_type": "bearer"}
Run Code Online (Sandbox Code Playgroud)
我通常使用断点来帮助找出在这些情况下出了什么问题,但是在函数中的任何代码实际运行之前调用就失败了,这让我相信问题出在OAuth2PasswordRequestForm依赖项上。我通过禁用form_data parameter并能够执行完整请求来验证这是问题所在。
我得到的错误在细节上非常少。这是我在控制台中得到的:INFO: 127.0.0.1:52261 - "POST /token HTTP/1.1" 400 Bad Request
这是我在 Swagger UI 中看到的:
这在教程中使用的单文件格式中对我有用,但我已经将事情分解成不同的文件以保持我的更大项目的组织。我有一种感觉,在重新组织此代码时,我只是在某处错过了一些东西,但似乎无法弄清楚是什么导致了这种情况。
| 归档时间: |
|
| 查看次数: |
1316 次 |
| 最近记录: |