Identity Server 4 Authorization Code Flow Beispiel
Ich versuche, umzusetzen Identity Server 4 mit AspNet-Core mit Authorization Code Flow.
Die Sache ist, die IdentityServer4 repository auf github haben mehrere Proben, aber keiner mit Authorization Code Flow.
Hat jemand ein Beispiel, wie zu implementieren Authorization Code Flow mit Identity Server 4 und ein Client in MVC-Konsum?
InformationsquelleAutor der Frage Rafael Miceli | 2016-05-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist eine Implementierung eines Authorization Code Flow mit Identity Server 4 und ein MVC-client zu konsumieren.
IdentityServer4 können einen client verwenden.cs-Datei zu registrieren, unsere MVC-client, der ist ClientId, ClientSecret, erlaubt grant-Typen (Authorization Code in diesem Fall), und die RedirectUri unserer client:
Diese Klasse wird in der ConfigurationServices Methode der Inbetriebnahme.cs in der IdentityServer4 Projekt:
Als Referenz, hier sind die Benutzer und Bereiche Klassen, die oben verwiesen:
Dem MVC-Anwendung erfordert zwei controller-Methoden. Die erste Methode, die den Kick-off der Service Provider (SP-Initiiert) - workflow. Schafft es ein Staat Wert, speichert Sie in einem cookie-basierte Authentifizierung, middleware, und leitet den browser IdentityProvider (IdP) - unsere IdentityServer4 Projekt in diesem Fall.
Als Referenz, hier sind die Konstanten und SaveState-Methode verwertet oben:
Zweiten MVC action-Methode aufgerufen wird, IdenityServer4 nachdem der Benutzer seine Anmeldeinformationen und Prüfungen eine Zulassung Boxen. Die action-Methode:
Hier ist die Methode:
Kontrolle, die der Staat eingegangen ist, was Sie erwartet, hilft verteidigen gegen CSRF-Angriffe: http://www.twobotechnologies.com/blog/2014/02/importance-of-state-in-oauth2.html
Diese ValidateStateAsync Methode vergleicht die empfangenen Zustand zu dem, was gespeichert wurde Weg in der cookie-middleware:
Diese "validatetoken" - Methode verwendet Microsoft ' s System.IdentityModel und System.IdentityModel.Token.Jwt-Bibliotheken, um zu überprüfen, dass die JWT ist ordnungsgemäß signiert.
Funktionierende Lösung, die diese source-Dateien befindet sich auf GitHub an https://github.com/bayardw/IdentityServer4.Authorization.Code
InformationsquelleAutor der Antwort bayardw
Hier ein Beispiel - es ist der Einsatz von hybrid-flow anstelle von code flow. Aber hybrid-flow ist mehr sowieso empfohlen, wenn Sie client-Bibliothek es unterstützt (und das aspnetcore middleware).
https://github.com/IdentityServer/IdentityServer4.Samples/tree/release/Quickstarts/5_HybridFlowAuthenticationWithApiAccess
InformationsquelleAutor der Antwort leastprivilege