5

Ich suche SSO zu verwenden, um mit Web-api 2.2 für die Verwendung in mehreren Anwendungen, einschließlich mobiler und asp.net Mvc 5.Single Sign-On mit Web-api und asp.net Mvc 5

bekam ich die Grundidee Erstellen von Authentifizierungs-Token über Web-API, aber ich habe einige Fragen:

1- Ist es sicher, das Authentifizierungstoken in einem Cookie zusammen mit Benutzernamen zu speichern?

2- Kann ich diese Authentifizierung mit dem Identity Framework in mvc verknüpfen und Rollen verwenden?

3- Wie kann ich Rollen validieren? Muss ich eine Anfrage an die API für jeden als autorisiert markierten Controller mit einer bestimmten Rolle senden, um sicherzustellen, dass es die richtige Rolle für den Benutzer ist?

4- Wenn ich mich von der Web-App aus anmelde und ein Authentifizierungs-Token erhalte und mich dann vom Handy aus anmelde, wird es dasselbe Token senden?

+0

hast du schon eine Lösung dafür gefunden? danke – jay

+0

Hey, können Sie bitte teilen, wie Sie die Architektur für MVC 5 und Web-API separat sowie die Verbindung hergestellt haben. Ich bin auf der Suche nach genau der gleichen Architektur wie ich später die mobile Entwicklung integrieren muss. Also, mein Web würde von asp.net mvc serviert werden, die wiederum mit Web-API als Service-Schicht verbinden würde. – sam113

Antwort

1

Ok, also werde ich diese Frage mit dem, was ich getan habe, beantworten.

1- Identitätsserver 4 (unter Verwendung von asp.net core):

Die grundlegende Architektur wird in drei Hauptteile aufgeteilt werden.

2- Web API (mit asp.net Kern).

3- Client-Seite (mit angular 2), Sie können jedoch auch jedes clientseitige Framework oder jeden asp.net-Core verwenden.

Identity Server generiert Token, die mit jeder Anfrage an die Web-API gesendet werden, und es unterstützt ASP.net Identität und Rollen. Auf diese Weise können Sie es einfach für Mobilgeräte erweitern und das Token bei jeder Anfrage senden.

Link zu Identitätsserver 4 docs: http://docs.identityserver.io/en/release/quickstarts/6_aspnet_identity.html

Link auf Github, wo Sie weitere Beispiele finden: https://github.com/IdentityServer/IdentityServer4

Android arbeitet mit Identitätsserver 4: https://github.com/leo9223/Android-Resource-Owner-Flow-client-for-IdentityServer4

Hinweis: für asp .net mvc 5, können Sie Cookie-Authentifizierung verwenden (die für mobile nicht funktioniert), aber SSO für separate Anwendungen bereitstellen.