2K12 R2 ADFS 3 - Falha na autenticação de passagem do IE no segundo logon com 400

1

Temos um cliente que implantou recentemente o ADFS 3.0 no Servidor 2K12 R2 como um IDP para nosso produto SaaS (somos o SP e usamos o SimpleSAMLPHP). Este cliente é nosso primeiro cliente do ADFS 3.0, mas temos muitos clientes satisfeitos 2.0. Esse cliente usa a autenticação de passagem com o IE em seu domínio, mas precisa de autenticação baseada em formulários quando estiver fora do domínio - o ADFS 3.0 funciona muito bem para isso. No entanto, nos deparamos com um problema ...

Se eles fizerem login em nosso aplicativo uma segunda vez no mesmo contexto de navegador com o IE, eles receberão um HTTP 400 do servidor ADFS antes de nos serem enviados de volta.

Um pouco mais de cor ... Temos um botão de logout em nosso aplicativo que mata a sessão do usuário em nosso aplicativo, mas não encerra sua sessão com o ADFS (mas realmente como você pode terminá-lo com a passagem e IE, seu identidade é suas credenciais de domínio). Se eles voltarem ao nosso aplicativo depois de sair, os enviaremos de volta ao IDP para autenticação. Normalmente, eles são enviados de volta autenticados e todos ficam felizes.

Alguns fatos:

  • Temos um servidor no domínio sem proxies
  • O servidor roteia interna e externamente pelo nome DNS correto
  • Temos o IIS instalado, embora tecnicamente o ADFS 3.0 não exija
  • Tentamos aumentar o detalhamento e exibir logs no ADFS sem sucesso
  • Podemos efetuar login com reivindicações ONCE por sessão do navegador no IE
  • Outros navegadores com autenticação baseada em formulários funcionam bem

Ainda mais interessante:

  • Nós configuramos o ADFS 3.0 em nossa empresa para tentar reproduzi-lo e ele funciona bem aqui
    • Agora estamos executando o ADFS 2.0 e 3.0 internamente e tudo está bem
  • Nós descartamos e comparamos as propriedades do ADFS via Powershell sem sucesso
  • Usamos o Fiddler para capturar transações em funcionamento e transações com falha, e elas são praticamente idênticas

Suporte da Microsoft:

  • Nós abrimos um problema de suporte com a Microsoft
  • A Microsoft afirmou que não estávamos emitindo um SLO adequado antes de tentar autenticar novamente
  • Tentamos acessar manualmente o URL do SLO para o ADFS enquanto entramos e ele gera um 400!

Basicamente, do meu ponto de vista, uma vez que tenhamos feito login assim que o servidor do ADFS lançar um 400 a qualquer momento, tentaremos conversar com ele novamente.

Alguma ideia? Obrigado antecipadamente!

    
por jriffel73 06.11.2014 / 02:11

1 resposta

0

Qual é o seu URL SLO? Eu vejo muita gente do SAML tentando fazer logout com o AD FS usando uma solicitação para https://sts.contoso.com/adfs/ls/?wa=wsignout1.0 . Esta não é a maneira de fazer logout em um aplicativo SAML. Isso é WSFederation.

Você precisa enviar um samp: logoutrequest adequadamente construído para o terminal passivo / adfs / ls.

    
por 28.11.2014 / 13:43