Ich erstelle eine MVC-Anwendung mit Azure Active Directory-Authentifizierung. Wenn ich mich lokal entwickle, möchte ich mich für Test-/Entwicklungszwecke anmelden können. Und die App-URL ist wie http://localhost:43400
. Dies ist auch in der AD-Anmeldung in Sign-On Url
und Reply Url
codiert.Verwenden von Azure Active Directory - eine Anwendung für die lokale Anmeldung und die Veröffentlichung
Wenn ich die gleiche App auf dem Server bereitstellen, wird die App-URL geändert - wird so etwas wie myappname.azurewebsites.net
und ich kann mich nicht mit der gleichen AD-Anwendung anmelden. Das Beste, was ich schaffen konnte, ist, den Login-Prozess zu durchlaufen, aber dann leitet AD mich zurück zu localhost:43400
, was falsch ist.
Es gibt PostLogoutRedirectUri
Eigenschaft in Startup.Auth.cs
, die ich der App geben, aber es macht überhaupt keinen Unterschied.
Gibt es eine Möglichkeit, eine lokale Anwendung und eine bereitgestellte Anwendung mit demselben Azure AD zu verwenden?
Ich kann 2 AD Applikaiton mit verschiedenen URLs und Tasten und schreibe die Werte in web.config
auf Deploy. Aber das klingt nicht nach der besten Lösung. Kann ich sonst noch etwas tun?
UPD
Hier ist das Bit ich in Startup.Auth.cs
zu verweisen:
app.UseOpenIdConnectAuthentication(
new OpenIdConnectAuthenticationOptions
{
ClientId = clientId,
Authority = Authority,
PostLogoutRedirectUri = postLogoutRedirectUri, // <-- this is coming from web.config, different in dev and prod
Notifications = new OpenIdConnectAuthenticationNotifications()
{
.....
}
});
vollständige Code anzeigen here auflistet.
Und in Azure AD Anwendung habe ich versucht, beiden Adressen als Antwort URL zur gleichen Zeit:
Aber die AD nur eine der Adressen verwendet zu umleiten, auch wenn der Kunde der Umleitung angegeben, die übereinstimmt der Aufzeichnungen.
Können Sie nicht zwei separate Anwendungen in diesem Azure AD erstellen? –
Ich kann - das ist, was mein letzter Teil der Frage sagt. Gibt es einen besseren Weg? – trailmax
Sorry ... habe diesen Teil nicht gelesen! Eine andere Sache, die Sie tun können, ist Redirect-URIs für beide Umgebungen in der gleichen Anwendung. Was ich versucht habe, ist mehrere Umleitungs-URIs für die gleiche Umgebung (eine für die Anmeldung und andere für die Anmeldung) in meiner Anwendung, aber Sie könnten es versuchen. –