La autenticación azuread incorporada de Microsoft en ASP.NET MVC genera un error

programación


Estoy usando la autorización incorporada de Microsoft en asp.net mvc.
Estoy usando la siguiente llamada en startup.auth.cs. Recibo una solicitud de autorización en el dispositivo móvil después de permitir que no se redireccione en la página predeterminada.

C#
private static string clientId = ConfigurationManager.AppSettings["ida:ClientId"];           
        public void ConfigureAuth(IAppBuilder app)
        {
            app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);

            app.UseCookieAuthentication(new CookieAuthenticationOptions());

            app.UseOpenIdConnectAuthentication(
                new OpenIdConnectAuthenticationOptions
                {
                    ClientId = clientId,
                    Authority = authority,                    
                    PostLogoutRedirectUri = postLogoutRedirectUri
                });
        }

Lo que he probado:

Intenté varias formas pero no obtuve la correcta.

Solución 1

Parece que tiene un problema al redirigir a la página predeterminada después de una autorización exitosa cuando utiliza la autorización integrada de Microsoft en ASP.NET.

Intente seguir los pasos para solucionar problemas;

1. Verifique el URI de redireccionamiento: asegúrese de que el URI de redireccionamiento en su aplicación coincida exactamente con lo que está configurado en su proveedor de identidad.

2. Establezca la propiedad RedirectUri: establezca explícitamente RedirectUri en OpenIdConnectAuthenticationOptions en el URI de redireccionamiento de su aplicación.

C#
RedirectUri = "http://localhost:port/signin-oidc"

3. Manejar fallas de autenticación:
Supervise el evento AuthenticationFailed para detectar y gestionar cualquier error de autenticación.

C#
Notifications = new OpenIdConnectAuthenticationNotifications
{
    AuthenticationFailed = context =>
    {
        context.Response.Redirect("/Home/Error");
        return Task.FromResult(0);
    }
};

4. Verifique la configuración de la clase de inicio: asegúrese de que OWIN reconozca correctamente su clase de inicio con el [assembly: OwinStartup(typeof(YourNamespace.Startup))] atributo.

5. Revise la configuración de sesiones y cookies: asegúrese de que las cookies estén configuradas correctamente para mantener las sesiones, especialmente para navegadores móviles.

6. Implementar el registro: agregue registros durante todo el proceso de autenticación para identificar dónde podría estar fallando el proceso.

7. Investigue problemas específicos de dispositivos móviles: dado que el problema ocurre en dispositivos móviles, busque configuraciones o comportamientos específicos de dispositivos móviles que puedan estar afectando el flujo de autenticación.

コメント

タイトルとURLをコピーしました