{"id":22694923,"url":"https://github.com/aguafrommars/theidserver","last_synced_at":"2025-05-14T21:10:25.183Z","repository":{"id":36967784,"uuid":"206938663","full_name":"Aguafrommars/TheIdServer","owner":"Aguafrommars","description":"OpenID/Connect, OAuth2, WS-Federation and SAML 2.0 server based on Duende IdentityServer and ITFoxtec Identity SAML 2.0 with its admin UI","archived":false,"fork":false,"pushed_at":"2025-05-13T03:26:08.000Z","size":49290,"stargazers_count":727,"open_issues_count":7,"forks_count":84,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-05-13T04:24:50.427Z","etag":null,"topics":["admin-ui","blazor-webassembly","docker-cloud","dotnet","duende-identityserver","iam","oauth","oauth2","oauth2-server","oidc","oidc-server","openid","openid-connect","saml","sponsor","sso","sso-authentication","ws-federation"],"latest_commit_sha":null,"homepage":"https://theidserver-duende.herokuapp.com/","language":"C#","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/Aguafrommars.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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,"zenodo":null},"funding":{"github":"aguacongas","liberapay":"aguacongas","issuehunt":"aguacongas"}},"created_at":"2019-09-07T08:26:02.000Z","updated_at":"2025-05-08T06:22:58.000Z","dependencies_parsed_at":"2025-04-17T06:30:58.479Z","dependency_job_id":"02d8c338-c98c-4693-a3d6-8bb046d42cb6","html_url":"https://github.com/Aguafrommars/TheIdServer","commit_stats":null,"previous_names":[],"tags_count":97,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aguafrommars%2FTheIdServer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aguafrommars%2FTheIdServer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aguafrommars%2FTheIdServer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aguafrommars%2FTheIdServer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Aguafrommars","download_url":"https://codeload.github.com/Aguafrommars/TheIdServer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253875188,"owners_count":21977383,"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":["admin-ui","blazor-webassembly","docker-cloud","dotnet","duende-identityserver","iam","oauth","oauth2","oauth2-server","oidc","oidc-server","openid","openid-connect","saml","sponsor","sso","sso-authentication","ws-federation"],"created_at":"2024-12-10T03:10:18.971Z","updated_at":"2025-05-14T21:10:20.169Z","avatar_url":"https://github.com/Aguafrommars.png","language":"C#","funding_links":["https://github.com/sponsors/aguacongas","https://liberapay.com/aguacongas","https://issuehunt.io/r/aguacongas","https://issuehunt.io/r/Aguafrommars/TheIdServer/issues/170","https://github.com/sponsors/aguacongas/sponsorships?sponsor=aguacongas\u0026tier_id=151490"],"categories":[],"sub_categories":[],"readme":"# TheIdServer\n\n[OpenID/Connect](https://openid.net/connect/), [OAuth2](https://oauth.net/2/), [WS-Federation](https://docs.oasis-open.org/wsfed/federation/v1.2/os/ws-federation-1.2-spec-os.html) and [SAML 2.0](http://docs.oasis-open.org/security/saml/v2.0/sstc-saml-approved-errata-2.0.html) server based on [Duende IdentityServer](https://duendesoftware.com/products/identityserver) and [ITfoxtec Identity SAML 2.0](https://www.itfoxtec.com/IdentitySaml2).\n\n\u003e [OpenID/Connect](https://openid.net/connect/), [OAuth2](https://oauth.net/2/), [WS-Federation](https://docs.oasis-open.org/wsfed/federation/v1.2/os/ws-federation-1.2-spec-os.html) and [SAML 2.0](http://docs.oasis-open.org/security/saml/v2.0/sstc-saml-approved-errata-2.0.html) are protocols that enable secure authentication and authorization of users and applications on the web. They allow users to sign in with their existing credentials from an identity provider (such as Google, Facebook, Microsoft, Twitter ans so-on) and grant access to their data and resources on different platforms and services. These protocols also enable developers to create applications that can interact with various APIs and resources without exposing the user’s credentials or compromising their privacy. Some examples of applications that use these protocols are web browsers, mobile apps, web APIs, and single-page applications.\n\n\u003e [Duende IdentityServer](https://duendesoftware.com/products/identityserver) is a framework that implements OpenID Connect and OAuth 2.0 protocols for ASP.NET Core applications. It allows you to create your own identity and access management solution that can integrate with various identity providers and APIs.\n\n\u003e [ITfoxtec Identity SAML 2.0](https://www.itfoxtec.com/IdentitySaml2) is a framework that implements SAML-P for both Identity Provider (IdP) and Relying Party (RP).\n\n\u003e TheIdServer implements all Duende IdentityServer features, a SAML 2.0 Identity Provider and comes with an admin UI.\n\n[![Quality gate](https://sonarcloud.io/api/project_badges/quality_gate?project=aguacongas_TheIdServer)](https://sonarcloud.io/dashboard?id=aguacongas_TheIdServer)\n\n[![Build status](https://ci.appveyor.com/api/projects/status/hutfs4sy38fy9ca7?svg=true)](https://ci.appveyor.com/project/aguacongas/theidserver) [![Docker](https://github.com/Aguafrommars/TheIdServer/actions/workflows/docker.yml/badge.svg)](https://github.com/Aguafrommars/TheIdServer/actions/workflows/docker.yml) [![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/aguafrommars)](https://artifacthub.io/packages/search?repo=aguafrommars)\n[![libs.tech recommends](https://libs.tech/project/206938663/badge.svg)](https://libs.tech/project/206938663/theidserver)\n\n### Documentation\n\nThanks [@ldeluigi](https://github.com/ldeluigi) and its [markdown-docs GitHub action](https://github.com/ldeluigi/markdown-docs). All markdown files are deployed in html [here](https://aguafrommars.github.io/TheIdServer/).\n\n### Try it now at [https://theidserver-duende.herokuapp.com/](https://theidserver-duende.herokuapp.com/)\n\n**login**: alice  \n**pwd**: Pass123$\n\nAn in-memory database version is available on [Heroku](https://www.heroku.com/).\n\n### Give a Star! :star:\n\nIf you like or are using this project to learn or start your solution, please give it a star. Thanks!\n\nOr if you're feeling really generous, we support sponsorships.\n\nChoose your favorite:\n\n* [issuehunts](https://issuehunt.io/r/Aguafrommars/TheIdServer/issues/170)\n* [github sponsor](https://github.com/sponsors/aguacongas),\n* [liberapay](https://liberapay.com/aguacongas)\n\n## Main features\n\n### Admin app\n![home](https://raw.githubusercontent.com/Aguafrommars/TheIdServer/master/doc/assets/home.png)\n\n* [Users management](https://github.com/Aguafrommars/TheIdServer/tree/master/doc/USER.md)\n* [Roles management](https://github.com/Aguafrommars/TheIdServer/tree/master/doc/ROLE.md)\n* [Clients management](https://github.com/Aguafrommars/TheIdServer/tree/master/doc/CLIENT.md)\n* [Apis management](https://github.com/Aguafrommars/TheIdServer/tree/master/doc/API.md)\n* [Api Scopes management](https://github.com/Aguafrommars/TheIdServer/tree/master/doc/SCOPE.md)\n* [Identities management](https://github.com/Aguafrommars/TheIdServer/tree/master/doc/IDENTITY.md)\n* [Relying parties management](https://github.com/Aguafrommars/TheIdServer/tree/master/doc/RELYING-PARTY.md)\n* [External providers management](https://github.com/Aguafrommars/TheIdServer/tree/master/doc/PROVIDER.md)\n* [Localizable](https://github.com/Aguafrommars/TheIdServer/tree/master/doc/LOCALIZATION.md)\n* [Export/import configuration](https://github.com/Aguafrommars/TheIdServer/tree/master/doc/EXPORT_IMPORT.md)\n* [Keys management](https://github.com/Aguafrommars/TheIdServer/tree/master/doc/KEYS.md)\n* [Server settings](https://github.com/Aguafrommars/TheIdServer/tree/master/doc/SETTINGS.md)\n\n### Server\n\n* [OpenID/Connect](https://openid.net/connect/), [OAuth2](https://oauth.net/2/), [WS-Federation](https://docs.oasis-open.org/wsfed/federation/v1.2/os/ws-federation-1.2-spec-os.html) and [Saml2P](http://docs.oasis-open.org/security/saml/v2.0/sstc-saml-approved-errata-2.0.html) server\n* [Large choice of database](https://github.com/Aguafrommars/TheIdServer/blob/master/doc/SERVER.md#using-entity-framework-core)\n* [Dynamic external provider configuration](https://github.com/Aguafrommars/TheIdServer/tree/master/doc/SERVER.md#configure-the-provider-hub)\n* [Public / Private installation](https://github.com/Aguafrommars/TheIdServer/tree/master/doc/SERVER.md#using-the-api)\n* [Docker support](https://github.com/Aguafrommars/TheIdServer/tree/master/doc/SERVER.md#from-docker)\n* [Claims providers](https://github.com/Aguafrommars/TheIdServer/tree/master/doc/CLAIMS_PROVIDER.md)\n* [External claims mapping](https://github.com/Aguafrommars/TheIdServer/tree/master/doc/EXTERNAL_CLAIMS_MAPPING.md)\n* [Localizable](https://github.com/Aguafrommars/TheIdServer/tree/master/doc/LOCALIZATION.md)\n* [OpenID Connect Dynamic Client Registration](https://openid.net/specs/openid-connect-registration-1_0.html)\n* [Auto remove expired tokens](https://github.com/Aguafrommars/TheIdServer/tree/master/doc/SERVER.md#configure-token-cleaner)\n* [Keys rotation](https://github.com/Aguafrommars/TheIdServer/tree/master/doc/KEYS_ROTATION.md)\n* [Create Personal Access Token](https://github.com/Aguafrommars/TheIdServer/tree/master/doc/PAT.md)\n* [Duende CIBA integration](https://github.com/Aguafrommars/TheIdServer/tree/master/doc/CIBA.md)\n* [Token exchange](https://datatracker.ietf.org/doc/html/rfc8693)([RFC 8693](https://datatracker.ietf.org/doc/html/rfc8693))\n* [Health checks](https://github.com/Aguafrommars/TheIdServer/tree/master/doc/SERVER.md#health-checks)\n* [OpenTelemety](https://github.com/Aguafrommars/TheIdServer/tree/master/doc/OPEN_TELEMETRY.md)\n* [Server side session](https://github.com/Aguafrommars/TheIdServer/tree/master/doc/SERVER_SIDE_SESSIONS.md)\n* [Passwor hashing configuration](https://github.com/Aguafrommars/TheIdServer/tree/master/doc/SERVER.md#configure-password-hashers-options)\n  \n  \n## Setup\n\n* Read the [TheIdServer Duende Web Server](doc/SERVER.md) to configure the Duende IdentityServer.  \n**You'll need to [acquire a license](https://duendesoftware.com/products/identityserver#pricing) for a commercial use of this version.**\n* Read the [TheIdServer Admin Application](doc/ADMINAPP.md) for application configuration.  \n\n## Build from source\n\nYou can build the solution with Visual Studio or use the `dotnet build` command.  \nTo build docker images launch at solution root: \n\n```bash\ndocker build -t aguacongas/theidserver.duende:dev -f \"./src/Aguacongas.TheIdServer.Duende/Dockerfile\" .\ndocker build -t aguacongas/theidserverapp:dev -f \"./src/Aguacongas.TheIdServer.BlazorApp/Dockerfile\" .\n```\n\n## Contribute\n\nWe warmly welcome contributions. You can contribute by opening an issue, suggest new a feature, or submit a pull request.\n\nRead [How to contribute](https://github.com/Aguafrommars/TheIdServer/tree/master/CONTRIBUTING.md) and [Contributor Covenant Code of Conduct](https://github.com/Aguafrommars/TheIdServer/tree/master/CODE_OF_CONDUCT.md) for more information.\n\n## OIDC Certification test result\n\nThe server pass the [oidcc-basic-certification-test-plan](\nhttps://www.certification.openid.net/plan-detail.html?plan=ZKco5LJhicIlT\u0026public=true) with some warnings. It is anticipated that it will pass the certification process, but we need your assistance. Please sponsor this project to help us pay the required [certification fee](https://openid.net/certification/fees/).\n\nChoose your favorite:\n\n* [github sponsor](https://github.com/sponsors/aguacongas/sponsorships?sponsor=aguacongas\u0026tier_id=151490)\n* [issuehunts](https://issuehunt.io/r/Aguafrommars/TheIdServer/issues/170)\n* [liberapay](https://liberapay.com/aguacongas)\n\n## IdentityServer4 end of support\n\nThe old IS4 version has been remove from the solution as [IS4 reach is end of support](https://github.com/IdentityServer/IdentityServer4#important-update).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faguafrommars%2Ftheidserver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faguafrommars%2Ftheidserver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faguafrommars%2Ftheidserver/lists"}