zoukankan      html  css  js  c++  java
  • FastAPI(57)- 安全相关的概念

    OAuth2

    • OAuth2 是一个规范,它定义了几种处理身份验证和授权的方法
    • 这是一个相当广泛的规范,涵盖了几个复杂的用例
    • 它包括使用“第三方”进行身份验证的方法
    • 比如在抖音通过微信、QQ 登录,底层用的就是 OAuth2

    OAuth1

    • OAuth 1,它与 OAuth2 非常不同,而且更复杂,因为它直接包含了关于如何加密通信的规范
    • 它现在不是很流行或常用
    • OAuth2 没有指定如何加密通信,它希望您的应用程序使用 HTTPS

    OpenID Connect

    • OpenID Connect 是另一个规范,基于 OAuth2
    • 它只是扩展了 OAuth2,指定了 OAuth2 中相对模糊的一些内容,以尝试使其更具互操作性
    • 例如,Google 登录使用 OpenID Connect(其底层使用 OAuth2)
    • 但是 Facebook 登录不支持 OpenID Connect,它有自己的 OAuth2 风格

    OpenID (not "OpenID Connect")

    • 还有一个“OpenID”规范,它试图解决与 OpenID Connect 相同的问题,但不是基于 OAuth2
    • 所以,这是一个完整的附加系统
    • 但它现在不是很流行或使用

    OpenAPI

    • OpenAPI(以前称为 Swagger)是用于构建 API(现在是 Linux 基金会的一部分)的开放规范
    • FastAPI 基于 OpenAPI,这就是拥有多个自动交互式文档界面、代码生成等的原因
    • OpenAPI 有一种方法可以定义多个安全“方案”
    • 通过使用它们,可以利用所有这些基于标准的工具,包括这些交互式文档系统

    apikey

    一个应用程序特定的密钥,可以来自:

    • query param
    • header
    • cookie

    http

    标准的 HTTP 认证系统,包括

    • Bearer:一个 header Authorization,值为 Bearer 加上一个 token,这是从 OAuth2 继承的
    • HTTP 基本身份验证
    • HTTP 摘要

    oauth2

    处理安全性的所有 OAuth2 方法(称为“流”)

    其中一些流程适用于构建 OAuth 2.0 身份验证提供程序(如 Google、Facebook、Twitter、GitHub 等)

    • implicit
    • clientCredentials
    • authorizationCode

    但是有一个特定的“流程”可以完美地用于直接在同一应用程序中处理身份验证

    • password

    openIdConnect

    • 有一种方法可以定义如何自动发现 OAuth2 身份验证数据
    • 这种自动发现是 OpenID Connect 规范中定义的
     
  • 相关阅读:
    字符串转换日期,日期转换字符串
    List中的Map
    一维数组
    流程控制的基本语法和应用
    《代码阅读方法与实践》读书笔记1
    专业实训题目需求分析
    2015年秋季个人阅读计划
    《人件集 人性化的软件开发》阅读笔记03
    《人件集 人性化的软件开发》阅读笔记02
    《人件集 人性化的软件开发》阅读笔记01
  • 原文地址:https://www.cnblogs.com/poloyy/p/15370932.html
Copyright © 2011-2022 走看看