ITfoxtec Identity
ITfoxtec Identity est une bibliothèque .NET open source qui implémente OAuth 2.0 et OpenID Connect 1.0.
La bibliothèque inclut des modèles de requête et de réponse pour OAuth 2.0 et OpenID Connect, des aides à la validation et des utilitaires pour construire des flux d'autorisation, de jetons et de déconnexion.
Les aides de découverte OIDC intégrées facilitent la mise en cache des documents de découverte et des ensembles de clés Web JSON (JWKS).
Quand FoxIDs est pertinent
Utilisez la bibliothèque open source lorsque vous avez besoin de composants OAuth 2.0 et OpenID Connect dans votre propre code .NET. FoxIDs est pertinent lorsque vous avez besoin d'une plateforme d'identité complète et hébergée avec des parcours de connexion, de la fédération, une configuration multi-tenant et un support opérationnel.
- Passez de composants de protocole à un service d'identité complet
- Ajoutez la fédération, des fournisseurs d'identité externes et des parcours de connexion spécifiques par tenant
- Bénéficiez d'opérations hébergées, de fonctions de conformité et d'un support expert
Vous pouvez utiliser l' outil JWT pour décoder les jetons et créer des certificats auto-signés avec l' outil de certificats.
Code
Le code ci-dessous montre comment créer une URL d'autorisation OAuth 2.0 à l'aide de la découverte OIDC.
using ITfoxtec.Identity;
using ITfoxtec.Identity.Discovery;
using ITfoxtec.Identity.Messages;
var discoveryHandler = new OidcDiscoveryHandler(httpClientFactory);
var discovery = await discoveryHandler.GetOidcDiscoveryAsync("https://login.example.com/.well-known/openid-configuration");
var request = new AuthorizationRequest
{
ResponseType = "code",
ClientId = clientId,
RedirectUri = redirectUri,
Scope = new[] { "openid", "profile" }.ToSpaceList(),
State = Guid.NewGuid().ToString("N")
};
var authorizeUrl = discovery.AuthorizationEndpoint.AddQuery(request.ToDictionary());