Solución:
Compruebe mi forma de agregar la autenticación de Azure AD a la aplicación ASP.NET Core 2.1 MVC. La herramienta agregará el código de autenticación por usted. Lo que debe hacer es vincular su botón de inicio / cierre de sesión al método.
1.Haga clic en Servicios conectados-> elija Autenticación con Azure Active Directory.
2. Debe proporcionar un botón de inicio de sesión para activar la página de inicio de sesión.
3. Ingrese su nombre de inquilino para el dominio y elija una forma de proporcionar la configuración de la aplicación.
4.Haga clic en el botón Finalizar para completar la configuración.
5.Eliminar app.UseBrowserLink()
en Startup.cs.
6 llamar SignOut()
método en AccountController.cs
para cerrar la sesión del usuario. Funciona bien.
[HttpGet]
public IActionResult SignOut()
{
var callbackUrl = Url.Action(nameof(SignedOut), "Account", values: null, protocol: Request.Scheme);
return SignOut(
new AuthenticationProperties { RedirectUri = callbackUrl },
CookieAuthenticationDefaults.AuthenticationScheme,
OpenIdConnectDefaults.AuthenticationScheme);
}
Dado que está utilizando el Microsoft.AspNetCore.Authentication.AzureAD.UI
biblioteca, puede redirigir directamente al usuario a https://localhost:xxxxx/AzureAD/Account/SignOut
para cerrar sesión, código fuente:
[HttpGet("{scheme?}")]
public IActionResult SignOut([FromRoute] string scheme)
{
scheme = scheme ?? AzureADDefaults.AuthenticationScheme;
var options = Options.Get(scheme);
var callbackUrl = Url.Page("/Account/SignedOut", pageHandler: null, values: null, protocol: Request.Scheme);
return SignOut(
new AuthenticationProperties { RedirectUri = callbackUrl },
options.CookieSchemeName,
options.OpenIdConnectSchemeName);
}
Ahora puede eliminar el OnRedirectToIdentityProviderForSignOut
evento.