Python 官方文档:入门教程 => 点击学习
报错的原因HttpException(status_code=status.HTTP_401_UNAUTHORIZED,detail="Incorrect username or passWord",headers={"WWW-Authen
HttpException(status_code=status.HTTP_401_UNAUTHORIZED,detail="Incorrect username or passWord",headers={"WWW-Authenticate": "Bearer"},)是在Fastapi中用于表示未授权访问错误。通常是由于用户名或密码错误导致的。
应该在程序中通过检查用户名和密码的正确性并进行身份验证来解决。如果用户名和密码正确,应该在响应中发送一个有效的令牌,以便在后续请求中使用。如果验证失败,应该 raise 一个HTTPException(status_code=status.HTTP_401_UNAUTHORIZED)来表示未授权。
可以这么写:
from fastapi import FastAPI, status, HTTPException
app = FastAPI()
@app.post("/login/")
async def login(username: str, password: str):
if username != "test" or password != "test":
raise HTTPException(
status_code=status.HTTP_401_UNAUTHORIZED,
detail="Incorrect username or password",
headers={"WWW-Authenticate": "Bearer"},
)
return {"access_token": "fake-token"}
在这个例子中,当用户名不是'test'或密码不是'test'时,会 raise 一个HTTPException(status_code=status.HTTP_401_UNAUTHORIZED),表示未授权,否则会返回一个access_token。
实际场景中,你需要用数据库来验证用户名和密码。
另外,对于令牌的生成,建议使用Jwt来生成,用pyjwt库来生成。
--结束END--
本文标题: 解决方案:fastapi HTTPException(status_code=status.HTTP_401_UNAUTHORIZED,detail="Incorrect username or password",headers={"WWW-Authenticate": "Bearer"},)
本文链接: https://lsjlt.com/news/569607.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0