2017-02-09 3 views
0

Ich habe eine ASP.NET Core MVC Server-Anwendung, die eine JavaScript-Client-Anwendung hostet. Die JS-Anwendung verwendet derzeit Oidc-Authentifizierung mit implizitem Ablauf. Die MVC-Serveranwendung bietet Funktionen zum Herunterladen von Dateien und muss den Benutzer ebenfalls authentifizieren.IdentityServer4: Authentifizierung zwischen ASP.NET Core MVC Server-Anwendung und JavaScript-Client teilen

Gibt es eine Möglichkeit oder ein Beispiel, wie beide Anwendungen für das Unterstützungsszenario konfiguriert werden, wenn der Benutzer den JS-Client anmeldet und auf den Download-Verweis auf das MVC-Server-Backend klickt und der Server den bereits authentifizierten Benutzer akzeptiert?

Auch wenn der Benutzer noch nicht authentifiziert ist und im Browser zur Download-URL navigiert, sollte das MVC-Backend ihn zur Identitätsserver-Anmeldeseite umleiten, bevor er mit dem Download fortfährt.

Ich habe verschiedene Konfigurationen ausprobiert, aber beide Clients verhalten sich unabhängig voneinander und nach der ersten Anmeldung spiegelt der MVC-Server nicht den JS-Client-Benutzerwechsel innerhalb einer Browsersitzung wider.

Antwort

1

In Ihrer MVC-Anwendung, so konfiguriert, dass die IdentityServer Middleware (wie app.UseIdentityServerAuthentication in Startup.Configure) mit den entsprechenden Einstellungen für AllowedScopes zu verwenden, Authority usw.

Dann wird Ihre Controller-Aktionen mit dem Authorize Attribute schmückt, und Stellen Sie sicher, dass alle Anrufe von Ihrem Frontend zu Ihrem Backend den Header Authorization korrekt auf das Bearer-Token setzen (das ist das Zugriffstoken, das Ihr Frontend durch erfolgreiche Anmeldung erhalten hat).

Verwandte Themen