Recherche
<uidHeader idpUrl="url2">uid2</uidHeader> permet de dire que pour idpUrl valant par exemple https://ident-shib-test.univ-rennes1.fr/shibboleth (en fait d'URL, c'est ID de l'IdP) on peut dire à nuxeo d'utiliser l'attribut uid2 envoyé par cet IdP et pas <default>.
On peut imaginer 2 cas :
Je viens de tester le fait d'utiliser uid pour mon IdP --> Ca ne semble pas marcher car :
Ce bug a été détecté avant la mise en place d'une configuration avec une annuaire multiple. Cf. 7) configuration shib + LDAP fonctionnelle
forcer l'attribut "surname" dans la map :
--- a/nuxeo-platform-login-shibboleth/src/main/java/org/nuxeo/ecm/platform/shibboleth/auth/ShibbolethAuthenticationPlugin.java Tue Nov 09 00:10:12 2010 +0100 +++ b/nuxeo-platform-login-shibboleth/src/main/java/org/nuxeo/ecm/platform/shibboleth/auth/ShibbolethAuthenticationPlugin.java Wed Dec 01 12:44:26 2010 +0100 @@ -116,6 +116,7 @@ Map<String, Object> fieldMap = getService().getUserMetadata(httpRequest); DocumentModel entry = userDir.getEntry(userId); if (entry == null) { + fieldMap.put("surname", userId); userDir.createEntry(fieldMap); } else { entry.getDataModel(userManager.getUserSchemaName()).setMap(
Si le bug n'existe plus (pas testé) avec une configuration avec une annuaire multiple. Le patch reste néanmoins nécessaire pour les établissement qui voudrait utiliser comme surname une valeur d'entête déjà utilisé pour un autre attribut du user nuxeo. ex : email. En effet, nuxeo ne sait pas dans son ShibbolethAuthenticationService mapper une même entête sur 2 attributs du user. Le patch rend aussi obsolète le besoin de définir un <fieldMapping header="truc">username</fieldMapping> pour username.