Wir implementieren Html.AntiForgeryToken()
in unserer authentifizierten AAD-Anwendung. Die Anmeldung funktioniert einwandfrei, aber wenn wir auf eine Schaltfläche auf der Startseite klicken, muss eine Controller-Aktion aufgerufen werden. Es kann Controller-Aktion mit unter Ausnahme nicht aufrufen. Irgendeine Idee, um dieses Problem zu lösen?Fälschungsüberprüfung schlägt bei Verwendung von Azure AD-Authentifizierung fehl
Fehler:
[HttpAntiForgeryException (0x80004005): The provided anti-forgery token was meant for user "[email protected]", but the current user is "".]
html:
using (Html.BeginForm("ExternalLogin", "Account", new { ReturnUrl = Model.ReturnUrl })) {
@Html.AntiForgeryToken()
<div id="LoginList">
<p>
@foreach (AuthenticationDescription p in loginProviders) {
<md-button type="submit" class="btn facebook-theme-background" id="@p.AuthenticationType" name="provider" value="@p.AuthenticationType" title="Log in using your @p.Caption account">Login with @p.AuthenticationType</md-button>
}
</p>
</div>
}
Server Side: Es ist nicht einmal diese Methode eingeben. Wenn ich ValidateAntiForgeryToken
kommentiere, dann tritt es ein.
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult ExternalLogin(string provider, string returnUrl)
{
}
unter zwei Eigenschaften für die Authentifizierung verwenden:
<add key="Tenant" value="xyz.onmicrosoft.com" />
<add key="Audience" value="<guid>" />
Willkommen bei Stack Overflow, bitte nehmen Sie sich etwas Zeit für die [Willkommenstour] (https://Stackoverflow.com/tour), um sich hier auskennen (und auch um Ihr erstes Abzeichen zu verdienen), lesen Sie, wie [Erstellen Sie ein minimales, vollständiges und überprüfbares Beispiel] (https://stackoverflow.com/help/mcve) und prüfen Sie auch [Wie Sie gute Fragen stellen können] (https://stackoverflow.com/help/how-to-ask), so erhöhen Sie Ihre Chancen, Feedback und nützliche Antworten zu erhalten. – Valentun