跳转到主要内容

简单且具有偏见的OpenID-Connect依赖方和资源服务器实现

项目描述

简单OpenID

简单且具有偏见的OpenID-Connect依赖方和资源服务器实现

Documentation Status

快速链接

开发哲学

  • 尽可能简化API

    没有**kwargs参数,没有名为request_argshttp_argssomething_else_args的函数参数

  • 完全类型化API

    Python现在有类型提示,让我们使用它们。

  • 支持常用的OpenID功能和流程

    将支持常用流程,但对不常见、过时或实验性机制的支持较少。

  • 仅仅是一个OpenID库

    清楚地告知用户函数要求,但不要尝试任何可能在不同使用场景中失败的复杂内部持久性或缓存机制。相反,将底层OpenID协议抽象成可用、清晰的函数,但仅此而已。

框架集成

名称 包功能 集成文档 支持版本
Django django 集成文档 v3.2, v4.2, v5.0
Django-Rest-Framework djangorestframework 集成文档 v3.13, v3.14

支持的 OpenID 规范

OpenID 规范列表可以在官方网站上找到。[链接](https://openid.net/developers/specs/)

  • (✔️) 部分支持 OpenID Connect Core 1.0

    仅实现了以下流程和功能

    • ✔️ 授权码流
    • ✔️ 直接访问授权(或资源所有者密码凭据授权
    • ✔️ client_secret_basic 客户端身份验证
    • ✔️ none 客户端身份验证
    • ✔️ 查询字符串序列化和解析
    • ✔️ ID 令牌处理(解析 + 验证)
    • ✔️ 使用刷新令牌
    • ✔️ 获取用户信息
    • ❌ 隐式流
    • ❌ 混合流
    • ❌ 处理第三方发起的登录
    • ❌ 将请求作为 JWT 传递(既不由值传递,也不由引用传递)
    • ❌ 自发式 OpenID 提供者
    • client_secret_post 客户端身份验证
    • client_secret_jwt 客户端身份验证
    • private_key_jwt 客户端身份验证
  • (✔️) 部分支持 OpenID Connect Discovery 1.0。实现了提供者配置发现,但未实现提供者发行者发现

    这意味着可以检查已知发行者的支持算法、端点位置等,但无法直接发现该发行者。

  • ✔️ 完全支持 OAuth 2.0 多响应类型编码实践

    仅实现并支持以下功能

    • ✔️ 响应模式(基于片段的响应解析)
    • ✔️ 多值响应类型
      没有明确定义支持,但可以将多值 response_type 之一提供给身份验证请求,然后从结果响应中解析多个响应。
  • ✔️ 完全支持 OpenID Connect RP-Initiated Logout 1.0

  • ✔️ 完全支持 OpenID Connect Front-Channel Logout 1.0

  • ✔️ 完全支持 OpenID Connect Back-Channel Logout 1.0

  • ✔️ 完全支持 OAuth 2.0 Token Introspection

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装软件包的更多信息。

源分布

simple_openid_connect-1.0.1.tar.gz (63.5 kB 查看哈希值)

上传时间

构建分布

simple_openid_connect-1.0.1-py3-none-any.whl (58.3 kB 查看哈希值)

上传时间 Python 3

由...