|
6 | 6 | [](https://pepy.tech/project/idpyoidc)
|
7 | 7 | 
|
8 | 8 |
|
9 |
| -Implementation of everything OIDC and OAuth2. |
| 9 | +This project is a Python implementation of everything OpenID Connect and OAuth2. |
10 | 10 |
|
11 |
| -idpyoidc is the 2nd layer in the JwtConnect stack (cryptojwt, idpyoidc) |
| 11 | +## Introduction |
| 12 | + |
| 13 | +idpyoidc is the 2nd layer in the JwtConnect stack (cryptojwt, idpyoidc). |
| 14 | +As OIDC OP Idpy implements the following standards: |
| 15 | + |
| 16 | +* [OpenID Connect Core 1.0 incorporating errata set 1](https://openid.net/specs/openid-connect-core-1_0.html) |
| 17 | +* [Web Finger](https://openid.net/specs/openid-connect-discovery-1_0.html#IssuerDiscovery) |
| 18 | +* [OpenID Connect Discovery 1.0 incorporating errata set 1](https://openid.net/specs/openid-connect-discovery-1_0.html) |
| 19 | +* [OpenID Connect Dynamic Client Registration 1.0 incorporating errata set 1](https://openid.net/specs/openid-connect-registration-1_0.html) |
| 20 | +* [OpenID Connect Session Management 1.0](https://openid.net/specs/openid-connect-session-1_0.html) |
| 21 | +* [OpenID Connect Back-Channel Logout 1.0](https://openid.net/specs/openid-connect-backchannel-1_0.html) |
| 22 | +* [OpenID Connect Front-Channel Logout 1.0](https://openid.net/specs/openid-connect-frontchannel-1_0.html) |
| 23 | +* [OAuth2 Token introspection](https://tools.ietf.org/html/rfc7662) |
| 24 | + |
| 25 | +It also comes with the following `add_on` modules. |
| 26 | + |
| 27 | +* Custom scopes, that extends [OIDC standard ScopeClaims](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims) |
| 28 | +* [Proof Key for Code Exchange by OAuth Public Clients (PKCE)](https://tools.ietf.org/html/rfc7636) |
| 29 | +* [OAuth2 PAR](https://datatracker.ietf.org/doc/html/rfc9126) |
| 30 | +* [OAuth2 RAR](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-rar) |
| 31 | +* [OAuth2 DPoP](https://tools.ietf.org/id/draft-fett-oauth-dpop-04.html) |
| 32 | +* [OAuth 2.0 Authorization Server Issuer Identification](https://datatracker.ietf.org/doc/draft-ietf-oauth-iss-auth-resp) |
| 33 | + |
| 34 | +## Usage |
| 35 | + |
| 36 | +If you want to add or replace functionality the official documentation should be able to tell you how. |
| 37 | +If you are just going to build a standard OP you only have to understand how to write your configuration file. |
| 38 | +In `example/` folder you'll find some complete examples based on flask and django. |
12 | 39 |
|
13 | 40 | Please read the [Official Documentation](https://idpyoidc.readthedocs.io/) for getting usage examples and further informations.
|
| 41 | + |
| 42 | +## Contribute |
| 43 | + |
| 44 | +Your contribution is welcome, no question is useless and no answer is obvious, we need you. |
| 45 | + |
| 46 | +#### Contribute as end user |
| 47 | + |
| 48 | +Please open an issue if you've discoveerd a bug or if you want to ask some features. |
| 49 | + |
| 50 | +#### Contribute as developer |
| 51 | + |
| 52 | +Please open your Pull Requests on the __develop__ branch. |
| 53 | +Please consider the following branches: |
| 54 | + |
| 55 | + - __main__: where we merge the code before tag a new stable release. |
| 56 | + - __develop__: where we push our code during development. |
| 57 | + - __other-custom-name__: where a new feature/contribution/bugfix will be handled, revisioned and then merged to dev branch. |
| 58 | + |
| 59 | +## Certifications |
| 60 | +[](https://www.certification.openid.net/plan-detail.html?public=true&plan=7p3iPQmff6Ohv) |
| 61 | + |
| 62 | +## License |
| 63 | + |
| 64 | +The entire project code is open sourced and therefore licensed under the [Apache 2.0](https://en.wikipedia.org/wiki/Apache_License). |
0 commit comments