Skip to main content

Python implementation of OAuth2 and OpenID Connect

Project description

https://ci.appveyor.com/api/projects/status/5g3ucux767mef3f4/branch/master?svg=true https://img.shields.io/pypi/pyversions/oic.svg https://img.shields.io/pypi/v/oic.svg https://readthedocs.org/projects/pyoidc/badge/?version=latest https://codecov.io/gh/CZ-NIC/pyoidc/branch/master/graph/badge.svg https://api.codacy.com/project/badge/Grade/2038cfa7c56b480db6ae18b8320d7157 https://api.securityscorecards.dev/projects/github.com/CZ-NIC/pyoidc/badge

A Python OpenID Connect implementation

This is a complete implementation of OpenID Connect as specified in the OpenID Connect Core specification. And as a side effect, a complete implementation of OAuth2.0 too.

Please see the CHANGELOG.md to review the latest changes.

Documentation

The documentation is graciously hosted by Read the Docs. Unfortunately, the documentation has been largely left unmaintained and there are various issues. However, the maintainers are trying to remedy this lately with some new momentum. Please help us by submitting pull requests if you can help improve the documentation.

Examples

Unfortunately, the current examples included in this repository are unmaintained and there are many issues. We’re currently in the process of creating a working canonical example implementation, however, until that time, the current examples largely do not work. Please help us by submitting pull requests that may bring these examples back into a working condition if you get something working locally.

Acknowledgements

Cudos to Vladislav Mladenov and Christian Mainka both at Horst Görtz Institute for IT-Security, Ruhr-University Bochum, Germany for helping me making the implementation more secure.

Maintainers Needed

If you’re interested in helping maintain and improve this package, we’re looking for you! We’re working on the project on a best effort basis but we still maintain a good flow of reviewing each others pull requests and driving discussions on what should be done.

Please contact one of the current maintainers @rohe, @tpazderka or @schlenk.

Contribute

Fork the repository, clone your copy and install pipenv.

Then just run:

$ make install

Next, running the tests:

$ make test

This will not affect your system level Python installation. Please review our issues to see what needs working on. Do not hesitate to ask questions if something is unclear. We mark easy issues as newcomer-friendly, so they are a good place to start if you want to contribute.

Windows

If you happen to work in a Windows environment, the above will not work out of the box due to the lack of a GNU Make on Windows. In addition one of the dependencies for ldap_authn is not available as a prebuilt wheel from pypi, so use these slightly modified instructions.

With pipenv in your path you run:

pipenv install --dev -e .[develop,testing,docs,quality]

Next you can run the tests:

pipenv run pytest tests

Project details


Download files

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

Source Distribution

oic-1.7.0.tar.gz (260.8 kB view details)

Uploaded Source

Built Distribution

oic-1.7.0-py3-none-any.whl (192.4 kB view details)

Uploaded Python 3

File details

Details for the file oic-1.7.0.tar.gz.

File metadata

  • Download URL: oic-1.7.0.tar.gz
  • Upload date:
  • Size: 260.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.9

File hashes

Hashes for oic-1.7.0.tar.gz
Algorithm Hash digest
SHA256 e51705d0c14c97e9ca594374bfb54269a72c9b489e0e979598344c0189bfcb64
MD5 c7fa476ce3d0320141234425dafbf583
BLAKE2b-256 bc221f46483b2095750161b862a034e334bf471f4a8c865e39058502983a73ea

See more details on using hashes here.

File details

Details for the file oic-1.7.0-py3-none-any.whl.

File metadata

  • Download URL: oic-1.7.0-py3-none-any.whl
  • Upload date:
  • Size: 192.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.9

File hashes

Hashes for oic-1.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b74bd06c7de1ab4f8e798f714062e6a68f68ad9cdbed1f1c30a7fb887602f321
MD5 89ee60a2d5877ad79474c2fec5faa5da
BLAKE2b-256 4b1d7a8f80ab17f9d78c05de9d998d501baf71c81d2f3a27b86bde45ca14c55f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page