This repository contains samples demonstrating how to use OpenIddict with the different OAuth 2.0/OpenID Connect flows.
- Aridka: client credentials demo using mTLS client authentication, with a .NET console acting as the client.
- Balosar: authorization code flow demo, with a Blazor WASM application acting as the client.
- Contruum: conformance tests project using Razor Pages and 2 hardcoded user identities, meant to be used with the OIDC certification suite.
- Dantooine: backend-for-frontend (BFF) Blazor WASM application hosted in ASP.NET Core with Microsoft YARP for downstream API.
- Geonosis: Blazor Web with InteractiveAuto mode, backend-for-frontend (BFF) with YARP and token exchange flow to call a downstream API.
- Hollastin: resource owner password credentials demo, with a .NET console using mTLS token binding acting as the client.
- Imynusoph: refresh token grant demo, with a .NET console acting as the client.
- Matty: device authorization flow demo, with a .NET console acting as the client.
- Mimban: authorization code flow demo using minimal APIs and GitHub delegation for user authentication, with a .NET console acting as the client.
- Velusia: authorization code flow demo, with an ASP.NET Core application acting as the client.
- Weytta: authorization code flow with Integrated Windows Authentication support and a .NET console acting as the client.
- Zirku: authorization code flow demo using minimal APIs with 2 hard-coded user identities, a .NET console using mTLS token binding and a SPA acting as the clients and two API projects using introspection (Api1) and local validation (Api2).
- Sorgan: console, Windows Forms, Windows Presentation Foundation and Blazor Hybrid clients using GitHub for user authentication.
- Fornax: authorization code flow demo using ASP.NET Web Forms 4.8 and OWIN/Katana, with a .NET console acting as the client.
- Mortis: authorization code flow demo using ASP.NET MVC 5.2 and ASP.NET Web API 2.2, with an ASP.NET MVC 5.2 application acting as the client.
- Kalarba: resource owner password credentials demo using OWIN/Katana, ASP.NET Web API 2.2 and the OpenIddict degraded mode.
Looking for additional samples to help you get started with OpenIddict? Don't miss these interesting samples maintained by the community:
- Angular and Blazor samples by Damien Bowden
- MAUI client sandbox (iOS, Mac Catalyst and WinUI 3) by Kévin Chalet
- OIDC session management sample by Graham Esau
Unlike many other identity providers, OpenIddict is not a turnkey solution but a framework that requires writing custom code to be operational (typically, at least an authorization controller), making it a poor candidate for the certification program.
While a reference implementation could be submitted as-is, this wouldn't guarantee that implementations deployed by OpenIddict users would be standard-compliant.
Instead, developers are encouraged to execute the conformance tests against their own deployment once they've implemented their own logic.
Tip
This repository contains a dedicated sample specially designed to be used with the OpenID Connect Provider Certification tool and demonstrate that OpenIddict can be easily used in a certified implementation. To allow executing the certification tests as fast as possible, that sample doesn't include any membership or consent feature (two hardcoded identities are proposed for tests that require switching between identities).
Security issues and bugs should be reported privately by email to security@openiddict.com. You should receive a response within 24 hours. If you do not, please follow up by email to ensure that your original message was received.
For more information about the available support options, read Support policy.
OpenIddict is actively maintained by Kévin Chalet. Contributions are welcome and may be submitted through pull requests.
This project is licensed under the Apache License. This means that you can use, modify and distribute it freely. See http://www.apache.org/licenses/LICENSE-2.0.html for more details.