Loops de redirecionamento intermitente durante a autenticação do ADFS

Estou usando o Owin para configurar meu aplicativo ASP.NET MVC 5 (.NET 4.5, IIS 7/8) para autenticar em uma instalação de ADFS de terceiros:

app.SetDefaultSignInAsAuthenticationType(WsFederationAuthenticationDefaults.AuthenticationType);

app.UseCookieAuthentication(new CookieAuthenticationOptions
{
    AuthenticationType = WsFederationAuthenticationDefaults.AuthenticationType
});

app.UseWsFederationAuthentication(new WsFederationAuthenticationOptions
{
    Wtrealm = Settings.Auth.Wtrealm,
    MetadataAddress = Settings.Auth.MetadataAddress
});

Eu também tenho um filtro de autenticação personalizado (usado em conjunto comAuthorizeAttribute):

public class OwinAuthenticationAttribute : ActionFilterAttribute, IAuthenticationFilter
{
    public void OnAuthentication(AuthenticationContext filterContext)
    {
        var user = filterContext.RequestContext.HttpContext.User;

        var authenticated = user.Identity.IsAuthenticated;
        if (!authenticated)
        {
            return;
        }

        /* Redirect to profile setup if not already complete */
    }

    public void OnAuthenticationChallenge(AuthenticationChallengeContext filterContext)
    {
    }
}

Isso funciona bem na metade do tempo, mas às vezes, no login inicial, um loop de redirecionamento ocorre entre o aplicativo e o login do ADFS. Isso parece ser específico da sessão (não ocorre para todos os usuários de uma vez) e, uma vez que o loop de redirecionamento ocorre, ele continua ocorrendo até a atualização de um pool de aplicativos.

Quando o loop de redirecionamento ocorre, ainda consigo ver (na guia Rede do Chrome) o que parece um token válido sendo emitido pelo ADFS.

Estou tendo dificuldades para isolar a causa raiz, mas o que descobri é que, quando o loop não ocorre,user.Identity é do tipoClaimsIdentity eIsAuthenticated étrue. Quandofaz ocorrer,IsAuthenticated éfalse masuser.Identity é do tipoWindowsIdentity.

Todas as formas de autenticação no IIS - exceto Anonymous - estão desativadas. O IIS Express não está em uso em nenhum lugar.

O que poderia estar causando isso?

questionAnswers(2)

yourAnswerToTheQuestion