Eu verifiquei a replicação dessa conta nos controladores de domínio e não pude ver nenhum motivo para que isso devesse estar falhando. Liguei o log de Depuração do ADFS e tentei fazer o login novamente. Desta vez, fui recompensado com um aviso muito claro que procedeu a ADAccountLookupException no log de depuração de rastreamento do ADFS.
ID do evento 53: AccountLockoutPolicy.IsAccountThrottled: o sistema falhou ao ler a contagem de senhas incorretas do usuário [email protected] .
Depois de verificar o atributo AD badPwdCount para SMTPRelayUser no DC sendo favorecido pelo meu farm do ADFS, vi que, de fato, ele não foi definido .
Neste momento, lembrei-me de que tinha activado ADFS 2012 R2 Extranet Proteção de bloqueio um tempo atrás e coincidiu com o início dos problemas de login. Aparentemente, há um bug no recurso Extranet Lockout Protection que lança uma exceção se badPwdCount não estiver definido. Desativei o recurso Extranet Lockout Protection e o login funcionou perfeitamente.
Então por que minhas autenticações funcionavam 5% do tempo? O badPwdCount não é replicado nos controladores de domínio. Cada CD mantém sua própria contagem. Ocasionalmente, o ADFS realmente consultaria um controlador de domínio que tivesse um conjunto de valores badPwdCount e uma autenticação bem-sucedida.
A moral da história é ter cuidado se você estiver usando o recurso Extranet Lockout Protection no ADFS. Eu mesmo simplesmente a desativei por enquanto.