Get

2017-05-13 4 views
0

Ich bin sehr neu für Identityserver und owin. Hier ist mein Problem. Ich habe eine asp.net MVC-Anwendung erstellt, indem ich Identityserver3 als meinen Authentifizierungsdienst verwendet. Ich möchte auf die Anforderungs-URI innerhalb der Identitätsserveranmeldung zugreifen. Ich habe die Login-Seite mit MVC-View (mit IdentityServer3.Samples) angepasst.Get

Dies ist der Fluss. Die folgende URL benötigt eine Authentifizierung, um fortzufahren. https://www.myapp.com/customer/profile Wenn navigiert jemand zu dieser URL es um Identität Anmeldeseite https://www.myapp.com/identity/login?signin=2207991967207c8e306a8c08b3abd3b8 automatisch umleitet. Nach der Angabe der korrekten Benutzer-IDs wird die URL korrekt an die URL der Anfrage weitergeleitet, die bereits vom Identitätsserver verarbeitet wird.

In meinem Fall habe ich einen anderen Link innerhalb der gleichen Identityserver Login-Seite, die zu meinem eigenen Link mit der Anfrage URL https://www.myapp.com/customer/profile als Querystring-Parameter umleiten sollte. Wie kann ich das erreichen? Grundsätzlich möchte ich die Anfrage-URL innerhalb der Login-Seite erhalten.

Antwort

0

sollten Sie in der Lage sein, die Rückgabe-URL für den Zugriff über

var env = Request.GetOwinContext().Environment; 
var msg = env.GetSignInMessage(id); // id from querystring 
var returnUrl = msg.ReturnUrl; 

(entnommen aus login controller im Beispiel Repo)

+0

ohne es dort nicht arbeiten, ich bin nicht immer, was ich erwartet habe. es ist wie 'https://identity.codefox.com/identity/connect/authorize?client_id=app_central&redirect_uri=https%3A%2F%2Fcentral.codefox.com&response_mode=form_post&response_type=code%20id_token&scope=openid%20profile%20read%20write% 20offline_access & state = OpenIdConnect.AuthenticationProperties% 3DktxDeOqwyWvZhx1JKURF0e8yAMBpeU36_qMNj-Ib-hFNOF6HmN0rUPh3PjnRTQrHhy1KMd0Wr9eaOvKUoOEqAmBpqenO6G2GhtslpRGb7UTsYXiuaOkRCEUaqn5Be_EMYsWhVga00DUOE4Aki1pNVEdAwQpwhvKLs' – Daybreaker

+0

ich die genaue uRL bekommen 'https: // www.myapp.com/Kunde/Profile' – Daybreaker

+0

IdentityServer nicht nessecarily wissen, was der Benutzer ursprünglich angefordert, weil das wieder mehrere Schritte ist im OAuth-Fluss. –