Skip to main content

Python OpenID library - OpenID support for servers and consumers.

Project description

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.4
  • 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.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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for python-openid2, version 3.1
Filename, size File type Python version Upload date Hashes
Filename, size python-openid2-3.1.tar.gz (111.3 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page