J'essaie de faire fonctionner ADFS 3.0 derrière mon proxy NGINX dans otrder pour fédérer mon AD local avec mes comptes Office365. Tout semble bien fonctionner mais certaines questions restent sans réponse: 1- Il y a un article (https://technet.microsoft.com/it-it/library/hh852618(v=ws.10).aspx) expliquant quel devrait être le comportement d'un proxy adfs 3ème partie sur adfs 2.0, mais je ne peux pas trouver la même chose pour ADFS 3,0. En particulier, ces articles indiquent que "les informations MEX sont distinctes pour l'extranet." Pour cela, toutes les requêtes externes à l'URL/adfs/services/trust/mex DOIVENT être redirigées vers/adfs/services/trust/proxymex à l'arrière -end STS. " est-ce toujours vrai sur adfs 3.0? Ma configuration nginx est la suivante, est-ce suffisant?ADFS 3.0 + NGINX EventID 342 et 500
upstream adfsup {
server mydc03.mydomain.local:443;
server mydc01.mydomain.local:443;
keepalive 100;
}
server {
listen 443;
server_name adfs.mypubdomain.it;
ssl on;
ssl_certificate /etc/letsencrypt/live/adfs.mypubdomain.it/cert.pem;
#ssl_certificate /ssl/adfs_mypubdomain_it.pem;
ssl_certificate_key /etc/letsencrypt/live/adfs.mypubdomain.it/privkey.pem;
#ssl_certificate_key /ssl/adfs_mypubdomain_it.key;
location/{
proxy_pass https://adfsup; # my existing apache instance
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-MS-Proxy mypubrp0v;
proxy_http_version 1.1;
#proxy_next_upstream error timeout invalid_header http_500 http_503;
proxy_next_upstream error timeout invalid_header http_503;
proxy_connect_timeout 2;
}
}
2- sur les nginx log je peux voir beaucoup de 500 erreur: "POST/ADFS/services/confiance/2005/usernamemixed HTTP/1.1" 500 1025 "-" "-" "-" et sur la machine adfs sur le journal de EVT qui correspondent à ID d'événement 342
Token validation failed.
Additional Data
Token Type:
http://schemas.microsoft.com/ws/2006/05/identitymodel/tokens/UserName
%Error message:
[email protected] user name or password is incorrect
Exception details:
System.IdentityModel.Tokens.SecurityTokenValidationException: [email protected] ---> System.ComponentModel.Win32Exception: The user name or password is incorrect
at Microsoft.IdentityServer.Service.Tokens.LsaLogonUserHelper.GetLsaLogonUserHandle(SafeHGlobalHandle pLogonInfo, Int32 logonInfoSize, SafeCloseHandle& tokenHandle, SafeLsaReturnBufferHandle& profileHandle)
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)
at Microsoft.IdentityServer.Service.Tokens.MSISWindowsUserNameSecurityTokenHandler.ValidateTokenInternal(SecurityToken token)
--- End of inner exception stack trace ---
at Microsoft.IdentityServer.Service.Tokens.MSISWindowsUserNameSecurityTokenHandler.ValidateTokenInternal(SecurityToken token)
at Microsoft.IdentityServer.Service.Tokens.MSISWindowsUserNameSecurityTokenHandler.ValidateToken(SecurityToken token)
System.ComponentModel.Win32Exception (0x80004005): The user name or password is incorrect
at Microsoft.IdentityServer.Service.Tokens.LsaLogonUserHelper.GetLsaLogonUserHandle(SafeHGlobalHandle pLogonInfo, Int32 logonInfoSize, SafeCloseHandle& tokenHandle, SafeLsaReturnBufferHandle& profileHandle)
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)
at Microsoft.IdentityServer.Service.Tokens.MSISWindowsUserNameSecurityTokenHandler.ValidateTokenInternal(SecurityToken token)
Je peux reproduire cette erreur fournir un mot de passe erroné sur le test rca (https://www.testconnectivity.microsoft.com/?testid=SingleSignOn) mais je pense que c'est pas normal qu'un mot de passe incorrect trow une exception. BTW tout mon utilisateur semble être bien et l'ouverture de session à travers l'ADFS fonctionne, a une idée de comment je peux corriger cette situation? Merci Lorenzo