0

Die Umgebung ist mit identityserver3 auf einmal angemeldet. Ich habe eine Client-Angular-Anwendung, die Openid-Verbindung mit Identity-Server 3 verwendet. Ich habe auch eine Datei-Viewer asp.net mvc-Anwendung, die zum Rendern von PDF-Dateien und anderen Dateien verwendet wird und keine Sicherheit hat. Die eckige App rendert den Dateiviewer in einem Iframe, um den Inhalt von Dateien anzuzeigen.IdentityServer3: asp.net mvc app vor unbefugtem Zugriff schützen

Ich habe versucht, den Dateibetrachter als Client zur Identität mit openid connect hinzuzufügen, so dass wenn ein Benutzer in der eckigen App angemeldet ist, der Benutzer auch einzeln in der Dateibetrachter - App angemeldet wäre, aber nicht in der iframe, wenn der Dateibetrachter aufgrund der x-frame-Optionen sameorigin-Header zum autorisierten Endpunkt der Identität umleitet. Wenn ich die Datei-Viewer-URL öffnen ist eine separate Registerkarte und starten Sie dann die Dateivorschau in der eckigen App dann Aufrufe innerhalb der eckigen App starten als Dateibetrachter Cookies sind jetzt im Browser.

Idealerweise möchte ich, dass der Dateibetrachter genau so funktioniert wie eine Web-API, die nur eingehende Token überprüft, aber nicht sicher ist, wie man das mit dem Identitätsserver erreicht.

Wie gehe ich vor, um die Dateibetrachteranwendung mit dem Identitätsserver abzusichern? Muss ich das JWT-Token manuell dekodieren, indem ich Messagehandler in der Pipeline verwende?

Danke.

enter image description here

Antwort

0

Wenn Sie die Datei lokal Rendering wurden Sie Inhaber Auth nutzen könnten, wie WebAPI tut. Da Sie MVC jedoch in einem Iframe verwenden, ist es etwas komplizierter. Sie müssen die Authentifizierung für den Dateibetrachter in einem neuen Fenster auslösen - die SSO-Anmeldung sollte niemals in einem iframe erfolgen. Dies sollte dann auth Anmeldeinformationen, in der Regel ein Cookie, für wenn Sie die Dateibetrachter mvc app in Ihrem iframe aufrufen.

Verwandte Themen