FastAPI - 安全(Security)4

删除routers/member.py文件

修改main.py文件

复制代码
# -*- coding:utf-8 --*-
from fastapi import Depends,FastAPI

from fastapi.security import OAuth2PasswordBearer
from typing import Annotated

oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")

app = FastAPI(
    title="文档标题",
    description="关于API文档的补充说明",
    version="1.0.0",
    docs_url="/docs"
)


@app.get("/items/")
async def read_items(token: Annotated[str, Depends(oauth2_scheme)]):
    return {"token": token}

https://fastapi.tiangolo.com/zh/tutorial/security/first-steps

创建用户模型

修改main.py文件

复制代码
# -*- coding:utf-8 --*-
from fastapi import Depends, FastAPI

from fastapi.security import OAuth2PasswordBearer
from typing import Annotated
from pydantic import BaseModel

oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")


class User(BaseModel):
    username: str
    email: str | None = None
    full_name: str | None = None
    disabled: bool | None = None


def fake_decode_token(token):
    return User(
        username=token + "fakedecoded", email="vvv@example.com", full_name="vvv lao"
    )


async def get_current_user(token: Annotated[str, Depends(oauth2_scheme)]):
    user = fake_decode_token(token)
    return user

app = FastAPI(
    title="文档标题",
    description="关于API文档的补充说明",
    version="1.0.0",
    docs_url="/docs"
)


@app.get("/users/me")
async def read_users_me(current_user: Annotated[User, Depends(get_current_user)]):
    return current_user

其中get_current_user使用oauth2_scheme作为依赖项

https://fastapi.tiangolo.com/zh/tutorial/security/simple-oauth2

相关推荐
爱吃小白兔的猫17 小时前
【框架篇二】FastAPI路由与请求处理
fastapi
蓝倾3 天前
如何将淘宝获取店铺所有商品API接口应用到自己店铺?实战讲解详细步骤
api·fastapi
在星空下3 天前
Fastapi-Vue3-Admin
前端·python·fastapi
onelafite10 天前
一键式商品信息获取:京东API返回值深度挖掘
api·fastapi
苏侠客85210 天前
在docker上部署fastapi的相关操作
docker·容器·fastapi
令狐寻欢12 天前
AI 大模型应用进阶系列(五):FastAPI 入门
人工智能·python·fastapi
六毛的毛15 天前
FastAPI入门:中间件、CORS跨域资源共享、SQL数据库
数据库·中间件·fastapi
蓝倾16 天前
批量获取亚马逊商品SKU商品规格调用流程
api·fastapi
蓝倾19 天前
京东商品销量数据如何获取?API接口调用操作详解
前端·api·fastapi
蓝倾23 天前
小红书获取笔记详情API接口调用操作指南
前端·api·fastapi