API接口文档中实现OAuth2认证,OAuth不是一个API或者服务,而是一个认证授权(Authorization)的开放标准。
自定义OAuth2PasswordBearer
在fastapi中,官方提供了OAuth2PasswordBearer依赖。可以在接口文档中出现认证的图标。

接口文档中出现了需要认证图标的示例代码:
from typing import Union
import uvicorn
from fastapi import Depends, FastAPI
from fastapi.security import OAuth2PasswordBearer
from pydantic import BaseModel
app = FastAPI()
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")
class User(BaseModel):
username: str
email: Union[str, None] = None
full_name: Union[str, None] = None
disabled: Union[bool, None] = None
def fake_decode_token(token):
return User(
username=token + "fakedecoded", email="john@example.com", full_name="John Doe"
)
async def get_current_user(token: str = Depends(oauth2_scheme)):
user = fake_decode_token(token)
return u

最低0.47元/天 解锁文章
638

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



