Saltar al contenido

Azure Active Directory no cerrará sesión con ASP.NET Core 2.1 MVC

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.

ingrese la descripción de la imagen aquí

2. Debe proporcionar un botón de inicio de sesión para activar la página de inicio de sesión.

ingrese la descripción de la imagen aquí

3. Ingrese su nombre de inquilino para el dominio y elija una forma de proporcionar la configuración de la aplicación.

ingrese la descripción de la imagen aquí

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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *