使用fastapi 做接口鉴权,可以在不同的接口上区分使用鉴权与不使用鉴权,fastapi 版本 0.109.2。下面是示例代码
from fastapi import Request, Response,status,Body
from fastapi import Depends, FastAPI, Header, HTTPException
async def verify_signature(request: Request) -> bool:
try:
# 从请求头和请求参数中中获取认证信息
IsValid: bool = True
data=await request.json()
headers=request.headers
# 验证headers 的传参信息和请求参数是否匹配
print("in verify_signature,request={0},data={1}".format(request,data))
return IsValid
except Exception as ex:
Logger.error("签名验证发生异常", ex)
IsValid = False
return IsValid
app = FastAPI()
# 公开路由
@app.get("/")
async def public_data():
"""
公开路由示例
:return: 一个公开的消息,无需鉴权
"""
return {"message": "这是一个公开的路由,无需鉴权,name:{0}"}
@app.post("/test",)
async def public_data(name:str=Body(..., description="name", examples=["张"]),
season:str=Body(..., description="name", examples=["春季"]),

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



