2016-03-14 2 views
0

J'ai la configuration suivante:Stratégie NameID non valide pour wordpress

Windows 2012 r2 avec ADFS 3.0. Configuration de WordPress en tant que SP (confiance de partie de confiance) et SimpleSAMLphp en tant qu'IdP (revendique la confiance de partie).

Je veux authentifier les utilisateurs de WordPress à l'aide de SSP. Le flux de contrôle est comme: L'utilisateur se connecte à WordPress. La page affiche ensuite le nombre de fournisseurs IdP configurés sur le serveur ADFS. L'utilisateur choisit SSP. L'utilisateur est authentifié avec SSP et la réponse est envoyée à ADFS qui à son tour transmet des informations à WordPress.

J'ai configuré toutes les compter & réclamations des parties & il fonctionne bien individuellement (WP-ADFS, ADFS-SSP) mais lorsque je tente d'authentifier WP avec SSP, il me donne error: The SAML authentication request had a NameID Policy that could not be satisfied.

J'ai règles configuration que : règle du parti revendications:

Transformer une règle entrante: NameID transitoire pour nom de compte Windows

Invoquant règle du parti:

Règle 1:

règles LDAP: SAM-compte-Name-> nom de compte Windows, E-Mail-adresses-> Adresse e-mail

Règle 2:

Transform une demande entrante: compte Windows name-> NameID Identifiant transitoire

Je viens de commencer à travailler avec SSO sur Windows Server donc je ne sais pas grand-chose sur la règle des réclamations & Je suppose qu'il y a peut-être quelque chose qui ne va pas car tous les modules fonctionnent correctement. (par exemple: WP comme SP et ADFS comme IdP, ADFS comme SP et SSP comme IdP).

Qu'est-ce que je fais exactement mal.

Veuillez également me faire savoir si j'ai manqué des détails.

Merci!

Répondre

3

La première étape consiste à déterminer quelle stratégie NameID est demandée. Installez SAML Tracer dans FireFox et exécutez votre flux. Vous verrez le AuthnRequest répertorié NameIDPolicy (exemple <samlp:NameIDPolicy Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"). Une fois que vous savez quel NameID est nécessaire, vous pouvez essayer de configurer Wordpress pour accepter un type différent (SSP utilise urn:oasis:names:tc:SAML:2.0:nameid-format:transient par défaut) ou configurer SSP pour libérer NameID dans le format attendu.

Voici un exemple d'utilisation authproc en SSP d'utiliser l'attribut mail pour NameID

'authproc' => array(
      60 => array(
        'class' => 'saml:AttributeNameID', 
        'attribute' => 'mail', 
        'Format' => 'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress', 
      ), 
    ), 

Il y a d'autres NameIDgeneration filters documented.

+0

Merci pour suggestion supplémentaire, c'était vraiment utile. Dans le traceur, j'ai trouvé que saml 'AuthnRequest' spécifie' NameIDPolicy' comme 'transitoire 'dans la requête saml de WP et ADFS. Cependant 'AuthnRequest' pour SSP indique' NameIDPolicy' comme 'unspecified'. J'ai défini 'NameIDPolicy' pour être' transitoire 'dans 'sp-remote.php' de SSP et la réponse SAML indique également la même chose pour SSP. Cependant, du côté WP, j'obtiens une erreur 'NameIDPolicy' dans le message de réponse SAML. – harshad

+0

Eh bien, j'ai trouvé la cause. Dans ADFS, j'avais défini la règle de revendication sur 'unspecified' (probablement au cours de diverses solutions de débogage). Mais maintenant, après avoir défini 'NameIDPolicy' comme' email' partout où je pense que le problème est résolu, parce que maintenant je reçois l'erreur comme 'nom d'utilisateur non fourni' pour la connexion lancée par le fournisseur d'accès/IdP. – harshad