https://github.com/identitypython/idpy-oidc
Implementation of everything OIDC and OAuth2
https://github.com/identitypython/idpy-oidc
Last synced: 3 months ago
JSON representation
Implementation of everything OIDC and OAuth2
- Host: GitHub
- URL: https://github.com/identitypython/idpy-oidc
- Owner: IdentityPython
- License: apache-2.0
- Created: 2022-03-24T12:57:14.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-10-29T14:06:13.000Z (8 months ago)
- Last Synced: 2024-10-29T14:39:43.781Z (8 months ago)
- Language: Python
- Size: 3.18 MB
- Stars: 40
- Watchers: 10
- Forks: 22
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# idpyoidc


[](https://pepy.tech/project/idpyoidc)
[](https://pepy.tech/project/idpyoidc)
This project is a Python implementation of everything OpenID Connect and OAuth2.
## Introduction
idpyoidc is the 2nd layer in the JwtConnect stack (cryptojwt, idpyoidc).
As OIDC OP Idpy implements the following standards:* [OpenID Connect Core 1.0 incorporating errata set 1](https://openid.net/specs/openid-connect-core-1_0.html)
* [Web Finger](https://openid.net/specs/openid-connect-discovery-1_0.html#IssuerDiscovery)
* [OpenID Connect Discovery 1.0 incorporating errata set 1](https://openid.net/specs/openid-connect-discovery-1_0.html)
* [OpenID Connect Dynamic Client Registration 1.0 incorporating errata set 1](https://openid.net/specs/openid-connect-registration-1_0.html)
* [OpenID Connect Session Management 1.0](https://openid.net/specs/openid-connect-session-1_0.html)
* [OpenID Connect Back-Channel Logout 1.0](https://openid.net/specs/openid-connect-backchannel-1_0.html)
* [OpenID Connect Front-Channel Logout 1.0](https://openid.net/specs/openid-connect-frontchannel-1_0.html)
* [OAuth2 Token introspection](https://tools.ietf.org/html/rfc7662)
* [OAuth 2.0 Form Post Response Mode](https://openid.net/specs/oauth-v2-form-post-response-mode-1_0.html)It also comes with the following `add_on` modules.
* Custom scopes, that extends [OIDC standard ScopeClaims](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims)
* [Proof Key for Code Exchange by OAuth Public Clients (PKCE)](https://tools.ietf.org/html/rfc7636)
* [OAuth2 PAR](https://datatracker.ietf.org/doc/html/rfc9126)
* [OAuth2 RAR](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-rar)
* [OAuth2 DPoP](https://tools.ietf.org/id/draft-fett-oauth-dpop-04.html)
* [OAuth 2.0 Authorization Server Issuer Identification](https://datatracker.ietf.org/doc/draft-ietf-oauth-iss-auth-resp)## Usage
If you want to add or replace functionality the official documentation should be able to tell you how.
If you are just going to build a standard OP you only have to understand how to write your configuration file.
In `example/` folder you'll find some complete examples based on flask and django.Please read the [Official Documentation](https://idpy-oidc.readthedocs.io/) for getting usage examples and further informations.
## Contribute
Your contribution is welcome, no question is useless and no answer is obvious, we need you.
#### Contribute as end user
Please open an issue if you've discoveerd a bug or if you want to ask some features.
#### Contribute as developer
Please open your Pull Requests on the __develop__ branch.
Please consider the following branches:- __main__: where we merge the code before tag a new stable release.
- __develop__: where we push our code during development.
- __other-custom-name__: where a new feature/contribution/bugfix will be handled, revisioned and then merged to dev branch.## Certifications
[](https://www.certification.openid.net/plan-detail.html?public=true&plan=7p3iPQmff6Ohv)## License
The entire project code is open sourced and therefore licensed under the [Apache 2.0](https://en.wikipedia.org/wiki/Apache_License).