Bucle de inicio de sesión de autenticación de WsFederation

Estoy experimentando un problema con un bucle de inicio de sesión cuando usoWsFederation Authentication en mi aplicación web MVC. Utilicé Visual Studio para crear el andamiaje de la aplicación web y configurar elWsFederation en elStartup.cs. Lo que genera el siguiente bloque de código:

public class Startup
{
    private static string realm = ConfigurationManager.AppSettings["ida:Wtrealm"];
    private static string adfsMetadata = ConfigurationManager.AppSettings["ida:ADFSMetadata"];

    public void Configuration(IAppBuilder app)
    {
        app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);

        app.UseCookieAuthentication(new CookieAuthenticationOptions());

        app.UseWsFederationAuthentication(new WsFederationAuthenticationOptions
        {
            Wtrealm = realm,
            MetadataAddress = adfsMetadata
        });
    }
}

La aplicación web está alojada en Azure y el ADFS está en las instalaciones.

En algunos clientes, cuando se realiza un intento de inicio de sesión, la página de inicio de sesión entra en un ciclo que solicita un nuevo token que causa la siguiente excepción en el servidor ADFS:

Detalles de la excepción: Microsoft.IdentityServer.Web.InvalidRequestException: MSIS7042: la misma sesión del navegador del cliente ha realizado '6' solicitudes en los últimos '7' segundos. Póngase en contacto con su administrador para obtener más detalles.

Leí muchos artículos sobre StackOverflow y miré los diversos ejemplos proporcionados por los chicos que escribieron IdentityServer y probé las diversas opciones de configuración y no puedo aislar el problema en un área específica.

Por lo que leí, es un problema general con el contexto de pérdida de OWIN middleware del objeto y como resultado el token se "pierde".

He intentado implementar algunas de lasCódigo de muestra que otros han proporcionado en StackOverflow, pero parece que no puedo encontrar una solución que resuelva mi problema o tal vez no haya implementado el código correctamente.

¿Algunas ideas?

Respuestas a la pregunta(1)

Su respuesta a la pregunta