跳转到主要内容

Python OpenID库 - 为服务器和客户端提供OpenID支持。

项目描述

python-openid2

Build Status codecov PyPI PyPI - Python Version

Python OpenID库 - 为服务器和客户端提供OpenID支持。

这是一个Python包集合,用于支持在您的应用程序中使用OpenID去中心化身份系统。想要为您的网站启用单点登录吗?请使用openid.consumer包。想要运行自己的OpenID服务器吗?查看openid.server。包括示例代码和对各种存储后端的支持。

要求

  • Python 2.7, >=3.5
  • lxml
  • six
  • cryptography

安装

要安装基本库,只需运行以下命令

pip install python-openid2

入门

示例目录包含示例服务器和消费者实现。请参阅该目录中的README文件,了解更多有关运行示例的信息。

库文档以HTML形式存储在doc目录中。

日志记录

此库提供了一种日志钩子,可以记录在库代码中发生的意外条件。如果条件可恢复,库将恢复并发出日志消息。如果不可恢复,库将引发异常。有关日志钩子的更多信息,请参阅openid.oidutil模块的文档。

文档

此库中的文档以Epydoc格式提供,详细信息请见

http://epydoc.sourceforge.net/

联系

请将错误报告、建议、评论和问题发送至 https://github.com/ziima/python-openid/issues/new

如果您想贡献错误修复或新功能,请毫不犹豫地将其发送到GitHub。

变更日志

3.2

  • 添加对python 3.8的支持。
  • 停止对python 3.4的支持。
  • 修复消费者验证中的假阳性重定向错误。
  • 在URI规范化中不要对路径中的子分隔符进行百分号转义。感谢Colin Watson的报告。
  • 修复测试和静态代码检查。感谢Colin Watson。

3.1

  • 将扩展的数据值转换为文本。
  • 修复Python 2/3支持中的问题。
  • 修复示例。
  • 添加对python 3.7的支持
  • 修复静态代码检查
  • 使用bumpversion

3.0

  • 支持Python3。
  • 将大多数API更改为文本字符串。UTF-8编码的字节字符串应该是兼容的。
  • 基于SHA-256的认证方法现在比SHA-1更受欢迎。
  • 使用cryptography库进行加密任务。
  • DiffieHellman类添加基于base64的新API。
  • 重构脚本以与OpenID服务器协商关联。
  • 降低重复日志的日志级别。
  • 默认fetcher从更多选项中选择。
  • 删除openid.consumer.html_parse模块。
  • openid.cryptutil中删除hmacSha*randomStringrandrangesha*函数。
  • 大量重构和清理。

弃用

  • 二进制字符串已弃用,除非明确允许。
  • DiffieHellmanSHA*ServerSessionDiffieHellmanSHA*ConsumerSession中,hash_func已弃用,改为使用algorithm
  • DiffieHellmanSHA*ServerSession.consumer_pubkey已弃用,改为使用consumer_public_key
  • 函数longToBinarybinaryToLong已弃用,分别改为使用int_to_bytesbytes_to_int
  • 旧的DiffieHellman API已弃用。

2.3.0

  • 防止签名比较中的时间攻击。感谢Carl Howells。
  • 防止XXE攻击。
  • 修复Unicode错误。感谢Kai Lautaportti。
  • 停止支持python版本< 2.7。
  • 使用日志模块。感谢Attila-Mihaly Balazs。
  • 允许为服务器设置签名者、编码器和解码器。感谢julio。
  • 修复服务器响应的URL限制。感谢Rodrigo Primo。
  • 修复几个协议错误。
  • 为AX存储扩展添加实用方法。
  • 修复curl检测。感谢Sergey Shepelev。
  • 使用setuptools。感谢Tres Seaver。
  • 重构Message类的创建。
  • 添加 RequestsFetcher。感谢 Lennonka。
  • 更新示例。
  • 添加 tox 进行测试。感谢 Marc Abramowitz。
  • 重构测试。
  • 清理代码并添加静态检查。

弃用

  • Message.setOpenIDNamespace() 方法。
  • UndefinedOpenIDNamespace 异常。
  • OpenIDRequest.namespace 属性。
  • openid.extensions.draft 包,即其 pape2pape5 模块。

项目详情


下载文件

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

源分发

python-openid2-3.2.tar.gz (113.9 kB 查看散列)

支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面