ITfoxtec Identity
O ITfoxtec Identity é uma biblioteca .NET de código aberto que implementa OAuth 2.0 e OpenID Connect 1.0.
A biblioteca inclui modelos de pedido e resposta para OAuth 2.0 e OpenID Connect, helpers de validação e utilitários para criar fluxos de autorização, token e logout.
Os helpers de discovery OIDC integrados facilitam o cache de documentos de discovery e JSON Web Key Sets (JWKS).
Quando FoxIDs é relevante
Utilize a biblioteca open source quando precisar de componentes OAuth 2.0 e OpenID Connect no seu próprio código .NET. FoxIDs é relevante quando precisa de uma plataforma de identidade completa e alojada com fluxos de login, federação, configuração multi-tenant e suporte operacional.
- Passe de componentes de protocolo para um serviço de identidade completo
- Adicione federação, fornecedores de identidade externos e fluxos de login específicos por tenant
- Obtenha operações alojadas, funcionalidades de conformidade e suporte especializado
Pode usar a ferramenta JWT para descodificar tokens e criar certificados auto assinados com a ferramenta de certificados.
Código
O código abaixo mostra como criar um URL de autorização OAuth 2.0 usando discovery 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());