Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

python-openid2

Build Status codecov PyPI PyPI - Python Version

Python OpenID library - OpenID support for servers and consumers.

This is a set of Python packages to support use of the OpenID decentralized identity system in your application. Want to enable single sign-on for your web site? Use the openid.consumer package. Want to run your own OpenID server? Check out openid.server. Includes example code and support for a variety of storage back-ends.

REQUIREMENTS

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

INSTALLATION

To install the base library, just run the following command:

pip install python-openid2

GETTING STARTED

The examples directory includes an example server and consumer implementation. See the README file in that directory for more information on running the examples.

Library documentation is available in html form in the doc directory.

LOGGING

This library offers a logging hook that will record unexpected conditions that occur in library code. If a condition is recoverable, the library will recover and issue a log message. If it is not recoverable, the library will raise an exception. See the documentation for the openid.oidutil module for more on the logging hook.

DOCUMENTATION

The documentation in this library is in Epydoc format, which is detailed at:

http://epydoc.sourceforge.net/

CONTACT

Send bug reports, suggestions, comments, and questions to https://github.com/ziima/python-openid/issues/new

If you have a bugfix or feature you'd like to contribute, don't hesitate to send it to us on GitHub.

Changelog

3.2

  • Add support for python 3.8.
  • Drop support for python 3.4.
  • Fix false positive redirect error in consumer verification.
  • Do not percent escape sub delimiters in path in URI normalization. Thanks Colin Watson for report.
  • Fix tests and static code checks. Thanks Colin Watson.

3.1

  • Convert data values for extensions to text.
  • Fixes in Python 2/3 support.
  • Fix examples.
  • Add support for python 3.7
  • Fix static code checks
  • Use bumpversion

3.0

  • Support Python3.
  • Change most of the API to the text strings. UTF-8 encoded byte string should be compatible.
  • Authentication methods based on SHA-256 are now preferred over SHA-1.
  • Use cryptography library for cryptography tasks.
  • Add new base64-based API for DiffieHellman class.
  • Refactor script to negotiate association with an OpenID server.
  • Decrease log levels on repetitive logs.
  • Default fetcher is picked from more options.
  • Remove openid.consumer.html_parse module.
  • Remove hmacSha*, randomString, randrange and sha* functions from openid.cryptutil.
  • A lot of refactoring and clean up.

Deprecation

  • Binary strings are deprecated, unless explicitely allowed.
  • hash_func is deprecated in favor of algorithm in DiffieHellmanSHA*ServerSession and DiffieHellmanSHA*ConsumerSession.
  • DiffieHellmanSHA*ServerSession.consumer_pubkey is deprecated in favor of consumer_public_key.
  • Functions longToBinary and binaryToLong deprecated in favor of int_to_bytes and bytes_to_int, respectively.
  • Old DiffieHellman API is deprecated.

2.3.0

  • Prevent timing attacks on signature comparison. Thanks to Carl Howells.
  • Prevent XXE attacks.
  • Fix unicode errors. Thanks to Kai Lautaportti.
  • Drop support for python versions < 2.7.
  • Use logging module. Thanks to Attila-Mihaly Balazs.
  • Allow signatory, encoder and decoder to be set for Server. Thanks to julio.
  • Fix URL limit to server responses. Thanks to Rodrigo Primo.
  • Fix several protocol errors.
  • Add utility method to AX store extension.
  • Fix curl detection. Thanks to Sergey Shepelev.
  • Use setuptools. Thanks to Tres Seaver.
  • Refactor Message class creation.
  • Add RequestsFetcher. Thanks to Lennonka.
  • Updated examples.
  • Add tox for testing. Thanks to Marc Abramowitz.
  • Refactor tests.
  • Clean code and add static checks.

Deprecation

  • Message.setOpenIDNamespace() method.
  • UndefinedOpenIDNamespace exception.
  • OpenIDRequest.namespace attribute.
  • openid.extensions.draft packages, namely its pape2 and pape5 modules.

Release files for python-openid2 3.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for python-openid2 3.2
File Size Uploaded
python-openid2-3.2.tar.gz 113.9 kB Details

Release files / python-openid2-3.2.tar.gz

Download URL python-openid2-3.2.tar.gz
Size 113.9 kB
Tags Source
SHA-256 checksum
How to use checksums
1df7c142522199685d5673df9a2ad0d51d4bba83d6b7ef67dac092670f032f22
BLAKE2b-256 checksum
How to use checksums
7dc67a652ae0e9e73475f2268c6dcf8a098261d554d8b821517af2eb1f72145d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.0 pkginfo/1.4.2 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.3
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page