你写API接口肯定你是希望是有权限的人才能访问,没有权限的人是不能访问的,那么我们应该如何去处理呢,我们可以用的验证方式有很多,我们这次分享的是用:OAuth2来认证。那么我们看下,需要怎么才能实现呢。我们现在的接口有一部分需要用OAuth2认证后才可以访问,另一部分可以随便去访问的,那么我们看下,我们应该如何去实现。
需求:1.items接口任意都可以访问
2.item接口需要认证后才可以访问。
我们看下如何去实现上面的需求
from fastapi import FastAPI, Depends
from fastapi.security import OAuth2PasswordBearer
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")
app = FastAPI()
fake_db_items = [{"city": "beijing"}, {"city": "shanghai"}, {"city": "guangzhou"}]
@app.get("/items")
def read_items():
return fake_db_items
@app.get("/item")
def read_users(city: str, token: str = Depends(oauth2_scheme)):
for item in fake_db_items:
if item["city"] == city:
return item
return {"msg": "not exist"}
if __name__ == '__main__':
import uvicorn
uvicorn.run("main:app", reload=True, debug=True)

本文介绍如何使用FastAPI结合OAuth2实现接口的安全访问控制。具体包括无需认证即可访问的公开接口与需要经过OAuth2认证才能访问的受保护接口的实现方式。
最低0.47元/天 解锁文章
1万+

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



