{"id":13557233,"url":"https://github.com/openiddict/openiddict-samples","last_synced_at":"2025-05-14T20:07:15.490Z","repository":{"id":37602567,"uuid":"60351219","full_name":"openiddict/openiddict-samples","owner":"openiddict","description":".NET samples for OpenIddict","archived":false,"fork":false,"pushed_at":"2025-04-04T13:49:43.000Z","size":6408,"stargazers_count":776,"open_issues_count":1,"forks_count":312,"subscribers_count":31,"default_branch":"dev","last_synced_at":"2025-04-14T02:58:11.790Z","etag":null,"topics":["aspnetcore","dotnet","oauth2","openidconnect"],"latest_commit_sha":null,"homepage":"https://documentation.openiddict.com/","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openiddict.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"kevinchalet","custom":"https://paypal.me/kevinchalet"}},"created_at":"2016-06-03T13:50:04.000Z","updated_at":"2025-04-12T09:28:16.000Z","dependencies_parsed_at":"2023-10-10T17:59:28.757Z","dependency_job_id":"edf344c1-8ccd-4492-94ca-5c709cb41d28","html_url":"https://github.com/openiddict/openiddict-samples","commit_stats":{"total_commits":337,"total_committers":27,"mean_commits":"12.481481481481481","dds":"0.24629080118694358","last_synced_commit":"5a508ace334bb736e0475a349bc7d9b4792a3cd7"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openiddict%2Fopeniddict-samples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openiddict%2Fopeniddict-samples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openiddict%2Fopeniddict-samples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openiddict%2Fopeniddict-samples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openiddict","download_url":"https://codeload.github.com/openiddict/openiddict-samples/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248813790,"owners_count":21165633,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aspnetcore","dotnet","oauth2","openidconnect"],"created_at":"2024-08-01T12:04:13.858Z","updated_at":"2025-05-14T20:07:15.476Z","avatar_url":"https://github.com/openiddict.png","language":"PowerShell","funding_links":["https://github.com/sponsors/kevinchalet","https://paypal.me/kevinchalet"],"categories":["PowerShell","dotnet"],"sub_categories":[],"readme":"# OpenIddict samples\n\nThis repository contains samples demonstrating **how to use [OpenIddict](https://github.com/openiddict/openiddict-core) with the different OAuth 2.0/OpenID Connect flows**.\n\n## ASP.NET Core samples\n\n  - [Aridka](samples/Aridka): client credentials demo, with a .NET console acting as the client.\n  - [Balosar](samples/Balosar): authorization code flow demo, with a Blazor WASM application acting as the client.\n  - [Contruum](samples/Contruum): conformance tests project using Razor Pages and 2 hardcoded user identities, meant to be used with [the OIDC certification suite](https://www.certification.openid.net/).\n  - [Dantooine](samples/Dantooine): backend-for-frontend (BFF) Blazor WASM application hosted in ASP.NET Core with Microsoft YARP for downstream API.\n  - [Hollastin](samples/Hollastin): resource owner password credentials demo, with a .NET console acting as the client.\n  - [Imynusoph](samples/Imynusoph): refresh token grant demo, with a .NET console acting as the client.\n  - [Matty](samples/Matty): device authorization flow demo, with a .NET console acting as the client.\n  - [Mimban](samples/Mimban): authorization code flow demo using minimal APIs and GitHub delegation for user authentication, with a .NET console acting as the client.\n  - [Velusia](samples/Velusia): authorization code flow demo, with an ASP.NET Core application acting as the client.\n  - [Weytta](samples/Weytta): authorization code flow with Integrated Windows Authentication support and a .NET console acting as the client.\n  - [Zirku](samples/Zirku): authorization code flow demo using minimal APIs with 2 hard-coded user identities, a .NET console and a SPA acting as the clients and two API projects using introspection (Api1) and local validation (Api2).\n\n## .NET samples\n\n  - [Sorgan](samples/Sorgan): console, Windows Forms, Windows Presentation Foundation and Blazor Hybrid clients using GitHub for user authentication.\n\n## OWIN/ASP.NET 4.8 samples\n  - [Fornax](samples/Fornax): authorization code flow demo using ASP.NET Web Forms 4.8 and OWIN/Katana, with a .NET Framework 4.8 console acting as the client.\n  - [Mortis](samples/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.\n  - [Kalarba](samples/Kalarba): resource owner password credentials demo using OWIN/Katana, ASP.NET Web API 2.2 and the OpenIddict degraded mode.\n\n## External samples\n\n**Looking for additional samples to help you get started with OpenIddict?** Don't miss these interesting samples maintained by the community:\n\n  - **[Angular and Blazor samples](https://github.com/damienbod/AspNetCoreOpeniddict)** by [Damien Bowden](https://github.com/damienbod)\n  - **[MAUI client sandbox (iOS, Mac Catalyst and WinUI 3)](https://github.com/openiddict/openiddict-core/tree/dev/sandbox/OpenIddict.Sandbox.Maui.Client)** by [Kévin Chalet](https://github.com/kevinchalet)\n  - **[OIDC session management sample](https://github.com/GREsau/openiddict-session-management-sample)** by [Graham Esau](https://github.com/GREsau)\n\n## Certification\n\nUnlike many other identity providers, **OpenIddict is not a turnkey solution but a framework that requires writing custom code**\nto be operational (typically, at least an authorization controller), making it a poor candidate for the certification program.\n\nWhile a reference implementation could be submitted as-is, **this wouldn't guarantee that implementations deployed by OpenIddict users would be standard-compliant.**\n\nInstead, **developers are encouraged to execute the conformance tests against their own deployment** once they've implemented their own logic.\n\n\u003e [!TIP]\n\u003e This repository contains [a dedicated sample](https://github.com/openiddict/openiddict-samples/tree/dev/samples/Contruum/Contruum.Server) specially designed to be used\n\u003e 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\n\u003e 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).\n\n## Security policy\n\nSecurity issues and bugs should be reported privately by emailing security@openiddict.com.\nYou should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message.\n\n## Support policy\n\nIf you need support, please first make sure you're [sponsoring the project](https://github.com/sponsors/kevinchalet).\nDepending on the tier you selected, you can open a GitHub ticket or send an email to contact@openiddict.com for private support.\nAlternatively, you can also post your question on [Gitter](https://app.gitter.im/#/room/#openiddict_openiddict-core:gitter.im).\n\n**Support is only offered for the latest stable version of OpenIddict**. There are, however, two exceptions to this policy:\n  - **ABP Framework users receive patches for OpenIddict for as long as ABP Framework itself is supported by Volosoft**\n  (typically a year following the release of a major ABP version), whether they have a commercial ABP license or just use the free packages.\n\n  | OpenIddict branch | ABP Framework branch | End of support date (estimated) |\n  |-------------------|----------------------|---------------------------------|\n  | 4.x               | 7.x                  | December 19, 2024               |\n  | 5.x               | 8.x                  | November 19, 2025               |\n  | 6.x (current)     | 9.x                  | Currently supported             |\n\n  - **OpenIddict sponsors are offered extended support depending on the selected sponsorship tier:**\n    - $100/month sponsors get full support for the previous version 1 month following the release of a new major version.\n    - $250/month sponsors get full support for the previous version 6 months following the release of a new major version.\n    - $500/month sponsors get full support for the previous version 12 months following the release of a new major version.\n    - $1,000/month sponsors get full support for the previous version 24 months following the release of a new major version.\n\n  | OpenIddict branch | Sponsorship tier       | End of support date |\n  |-------------------|------------------------|---------------------|\n  | 4.x               | $100/month (or more)   | January 18, 2024    |\n  | 4.x               | $250/month (or more)   | June 18, 2024       |\n  | 4.x               | $500/month (or more)   | December 18, 2024   |\n  | 4.x               | $1,000/month (or more) | December 18, 2025   |\n  |                   |                        |                     |\n  | 5.x               | $100/month (or more)   | January 17, 2025    |\n  | 5.x               | $250/month (or more)   | June 17, 2025       |\n  | 5.x               | $500/month (or more)   | December 17, 2025   |\n  | 5.x               | $1,000/month (or more) | December 17, 2026   |\n  |                   |                        |                     |\n  | 6.x (current)     | Any                    | Currently supported |\n\n## Running locally\n\nThis project uses the newer `.slnx` format instead of the traditional `.sln` file. You can open it using **Visual Studio 2022** or newer.\n\n\u003e [!TIP]\n\u003e If you encounter the following error when trying to open the `.slnx` file:\n\u003e\n\u003e \u003e The selected file is not a valid solution file.\n\u003e\n\u003e It's likely that the **Solution File Persistence Model** feature needs to be enabled. To do this:\n\u003e\n\u003e 1. Open **Visual Studio**.\n\u003e 2. Go to **Tools \u003e Options**.\n\u003e 3. In the left-hand menu, select **Environment \u003e Preview Features**.\n\u003e 4. Enable the checkbox for **Use Solution File Persistence Model**.\n\u003e 5. Click **OK** and restart Visual Studio.\n\u003e\n\u003e Once the solution file opens, you can set the desired project as the **Startup Project** (right-click on the project \u003e *Set as Startup Project*) and start debugging or running as usual.\n\n## Contributors\n\n**OpenIddict** is actively maintained by **[Kévin Chalet](https://github.com/kevinchalet)**. Contributions are welcome and can be submitted using pull requests.\n\n## License\n\nThis 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](http://www.apache.org/licenses/LICENSE-2.0.html) for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopeniddict%2Fopeniddict-samples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopeniddict%2Fopeniddict-samples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopeniddict%2Fopeniddict-samples/lists"}