2015-10-21 20 views
8

Ich suche nach OpenID Connect (OIDC) Relying Party leichte Bibliothek, die diese Routinen implementiert haben.OpenID Connect leichte Bibliothek

  1. Compose "Authentication Request"
  2. Validate "id_token" signature (einschließlich Herunterladen Zertifikat von Metadaten Endpunkt)
  3. Parse "id_token" JWT

Der einzige OIDC Fluss unterstützt werden soll so genannte "implizite Fluss" wo Server antwortet mit "id_token" (und "access_token", wenn angefordert) direkt von Autorisierung Endpunkt (spec link).

Die Suche nach NuGet-Repository scheint die einzige geeignete Option zu liefern - OWIN-Middleware, und obwohl ich bestätigen kann, dass es funktioniert, wäre es besser, eine leichte Alternative zu haben.

OIDC implicit flow

Antwort

11

einfach zu teilen, was für mich gearbeitet.

Um das erste Ziel zu erreichen, kann das NuGet-Paket Thinktecture.IdentityModel.Client (link) verwendet werden (Paket von IdentityServer-Erstellern, das selbst unglaublich ist). Ein Beispiel, das die grundlegende Verwendung zeigt, ist unten aufgeführt.

var client = new OAuth2Client(new Uri(AuthorizeEndpointUrl)); 

string url = client.CreateAuthorizeUrl(
    clientId: ClientId, 
    redirectUri: RedirectUri, 
    responseType: "id_token", 
    responseMode: "form_post", 
    nonce: Guid.NewGuid().ToString(), 
    additionalValues: additionalValues); 

In Bezug auf das Parsen und Validierung des JWT erhalten von OIDC Identity Provider die System.IdentityModel.Tokens.Jwt (link) Microsofts NuGet Paket ein Weg zu gehen. Das Code-Snippet ist auch unten.

Dies alles ist leicht und hält Ihre Anwendung sauber von unnötigen Abhängigkeiten.

NuGets

Verwandte Themen