前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >FastAPI 学习之路(二十七)安全校验

FastAPI 学习之路(二十七)安全校验

作者头像
雷子
发布2021-08-25 10:14:10
5390
发布2021-08-25 10:14:10
举报

前言

我们之前分享是全局的依赖项。这次我们分享安全校验

正文

你写API接口肯定你是希望是有权限的人才能访问,没有权限的人是不能访问的,那么我们应该如何去处理呢,我们可以用的验证方式有很多,我们这次分享的是用:OAuth2来认证。那么我们看下,需要怎么才能实现呢。我们现在的接口有一部分需要用OAuth2认证后才可以访问,另一部分可以随便去访问的,那么我们看下,我们应该如何去实现。

需求:1.items接口任意都可以访问

2.item接口需要认证后才可以访问。

代码语言:javascript
复制
from fastapi import  FastAPI,Depends
from fastapi.security import OAuth2PasswordBearer
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")
fake_items_db = [{"city": "beijing"}, {"city": "shanghai"},
                 {"city": "heze"}]
app = FastAPI()
@app.get("/items/")
def read_items():
    return fake_items_db
@app.get("/item/")
def read_item(city:str,token: str = Depends(oauth2_scheme)):
    for item in fake_items_db:
        if item['city']==city:
            return item

    return {"msg":"not exict"}

我们去请求下items

我们没有增加Authorization就可以访问称,我们看下增加认证

也可以正常返回。那么我们看下item接口,增加认证

那么我们去看下,我们不带认证如何处理

其实基于OAuth2来做处理其实是很简单的,我们只是写了一个简单的demo。

后记

发现问题,解决问题。遇到问题,慢慢解决问题即可。

欢迎关注雷子说测试开发,后续将会持续为大家分享更多的技术知识

如果你有问题可以留言或者加我微信:952943386。

2021,一起牛转钱坤,一起牛逼。

如果觉得这篇文章还不错,来个【分享、点赞、在看】三连吧,让更多的人也看到~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 雷子说测试开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档