Part1前言
通常,我们的接口都是需要认证后才能可以访问的,前面我们介绍了 token
的生成和校验,那在 FastApi
中怎么设计需要认证的接口呢?
Part2定义令牌对象
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="/token/")
以上/token/
为获取 token
的 URI
,具体内容如下:
class Token(BaseModel):
access_token: str
token_type: str
@app.post('/token/',response_model=Token)
async def get_token(response:Response,form_data: OAuth2PasswordRequestForm = Depends()):
if form_data.username=='phyger' and form_data.password=='phyger666':
response.headers['access_token']=create_token()
return {"access_token":create_token(),"token_type":"bearer"}
/token/
可以返回指定格式的令牌信息。
Part3定义需要认证的接口
@app.get('/format/{name}')
async def fmt(name,token=Depends(oauth2_scheme)):
print(token)
print(type(name))
new_name = name.title()
&n