FastAPI 安全机制(一) 简介
作者:麦克煎蛋 出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢!
在系统安全、身份验证以及权限授权方面通常来说有各种各样的处理方式,但大多都比较复杂。
在很多框架和系统里,涉及安全和身份验证的工作往往都比较繁琐,并且代码量也巨大。
我们先简单了解下常用的几种安全机制。
OAuth2
OAuth2是一种协议规范,定义了几种用来身份验证和权限授权的处理方式。
它是一种可扩展的协议规范,涵盖了几种复杂的使用场景。并且包含了基于第三方身份验证的处理方法。
我们常见的"使用微信登陆"、"使用QQ登陆"等登陆方式的底层技术就是基于OAuth2实现的。
OpenID Connect
OpenID Connect是另一种基于OAuth2的协议规范。它扩展了OAuth2的部分功能,让以前相对模糊的功能变得可操作性更强。
例如,Google的登陆就是基于OpenID Connect实现的。
OpenAPI
OpenAPI是一套构建API的开放标准。FastAPI是基于OpenAPI构建而成。
OpenAPI支持以下几种安全机制:
1、apiKey
:应用指定的key来自于
(1) 查询参数
(2) header信息
(3) cookie信息
2、http:支持标准的http身份验证系统,包括:
bearer
:头信息Authorization的内容中带有Bearer和token信息,继承自OAuth2。
HTTP基本认证。
HTTP摘要认证。
其他。
3、
oauth2
4、openIdConnect
FastAPI通过引入fastapi.security
模块,可以支持以上所有安全机制,并且简化了使用方法。