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 un MultiDirectory. 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 un MultiDirectory. Le patch reste néanmoins nécessaire pour les établissements qui voudraient utiliser comme surname une valeur d'entête déjà utilisée 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.