Eu tenho um projeto SAML Spring que está em desenvolvimento há cerca de um mês. Eu integrei o ADFS e tudo funcionou bem. Estou recebendo um erro intermitente que está se tornando problemático porque tenho que esperar que pareça decidir para começar a trabalhar novamente. Agora está mostrando o erro com mais frequência do que funciona. Eu vejo esse erro depois de realizar um login com qualquer número de contas do AD de teste.
Erro ID 111 no log de eventos
The Federation Service encountered an error while processing the WS-Trust request.
Request type: http://schemas.microsoft.com/idfx/requesttype/issue
Additional Data
Exception details:
System.ArgumentOutOfRangeException: Not a valid Win32 FileTime.
Parameter name: fileTime
at System.DateTime.FromFileTimeUtc(Int64 fileTime)
at Microsoft.IdentityServer.Service.Tokens.LsaLogonUserHelper.GetPasswordExpiryDetails(SafeLsaReturnBufferHandle profileHandle, DateTime& nextPasswordChange, DateTime& lastPasswordChange)....
Erro 364 no log de eventos do AD FS
Encountered error during federation passive request.
Additional Data
Protocol Name:
Saml
Relying Party:
https://localhost:8443/elsso/saml/metadata/alias/serviceprovider
Exception details:
System.ArgumentOutOfRangeException: Not a valid Win32 FileTime.
Parameter name: fileTime
at System.DateTime.FromFileTimeUtc(Int64 fileTime)
at Microsoft.IdentityServer.Service.Tokens.LsaLogonUserHelper.GetPasswordExpiryDetails(SafeLsaReturnBufferHandle profileHandle, DateTime& nextPasswordChange, DateTime& lastPasswordChange)
at Microsoft.IdentityServer.Service.Tokens.LsaLogonUserHelper.GetLsaLogonUserInfo(SafeHGlobalHandle pLogonInfo, Int32 logonInfoSize, DateTime& nextPasswordChange, DateTime& lastPasswordChange, String authenticationType, String issuerName)
at Microsoft.IdentityServer.Service.Tokens.LsaLogonUserHelper.GetLsaLogonUser(UserNameSecurityToken token, DateTime& nextPasswordChange, DateTime& lastPasswordChange, String issuerName)....
A configuração do Service Provider, do AD, do ADFS, dos Certificados e das asserções SAML está correta. Pelo menos eles trabalham 90% do tempo quando não estou recebendo esse erro.
O que eu tentei enquanto falhei isso não ajudou
- Reiniciando o serviço ADFS e o servidor virtual
- Sincronizando os tempos do servidor proxy (não tenho certeza do que isso significa exatamente, localizei um documento do MS que sugeriu isso para os tipos de erros 111 e 364) No PowerShell
w32tm / config /manualpeerlist:pool.ntp.org / syncfromflags: manual / update
- Os dois artigos StackOverflow relacionados a isso mostraram um erro nos metadados de asserção e que o SHA-256 não é suportado. Eu verifiquei meus metadados e estou usando o SHA-1.
- Não consigo encontrar nenhum artigo diretamente relacionado a esse problema em qualquer site de suporte da Microsoft. No entanto, sou novo em lidar com esse tipo de problema e talvez não saiba onde procurar.
A partir de agora, ele está trabalhando por alguns minutos em intervalos de algumas horas e, em seguida, falhando no restante do tempo.
Estou realmente perplexo e qualquer sugestão de como solucionar isso será muito apreciada.
UPDATE Eu não consigo acessar o ADFS nativamente, o que indica que não é um problema com o provedor de serviços, mas com o próprio ADFS / AD.