Recherche
Balise Wiki |
---|
h1. Échanges bon je viens de tester le fait d'utiliser uid pour mon IdP \--> Ca ne semble pas marcher car : |
...
* ShibbolethAuthenticationPlugin.handleRetrieveIdentity() fait un userDir.getEntry(userId) avec userId=bourges et ne trouve pas l'entrée dans nuxeo \--> Normal |
...
* Il essaie alors de la créer dans SQLSession.createEntry() mais là j'ai une erreur \--> "Entry with id bourges@univ-rennes1.fr already exists" \--> en effet il reprend l'info de <fieldMapping header="eppn">username</fieldMapping> et travaille donc maintenant avec le eppn |
...
L'idée était donc bonne mais soit j'ai mal compris soit ils n'ont pas poussé à terme leur réflexion sur le sujet. |
...
Je vais faire une fiche... |
...
A\+ |
...
Le 01/12/2010 12:13, Raymond Bourges a écrit : |
...
> Bonjour, |
...
> |
...
> Je n'ai pas fait de page web car je n'ai pas testé mais en faisant du debug je crois comprendre à quoi sert l'entrée |
...
> |
...
> <uidHeader idpUrl="url2">uid2</uidHeader> |
...
> |
...
> Que l'on trouve dans <uidHeaders> de la config shib de nuxeo. |
...
> |
...
> Perso je n'utilise que <default>eppn</default> |
...
> |
...
> Donc <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 je pense que c'est ID de l'Idp) on peut dire à nuxeo d'utiliser l'attribut uid2 envoyé par cet IdP et pas <default>. |
...
> |
...
> Donc on peut imaginer 2 cas : |
...
> 1) un IdP externe nous enverrais ses uid@domain.fr avec un autre attribut que <default>eppn</default> alors on pourrait le préciser via <uidHeader> |
...
> 2) pour un IdP local on peut décider de ne pas utiliser eppn mais uid par exemple \--> Ceci évite au niveau de la conf LDAP de nuxeo de dire que l'ID utilisé est eppn et de garder uid \--> Ceci a comme impact de continuer à faire des requête LDAP sur uid ce qui est plus naturel que sur l'eppn |
...
> |
...
> Je crois que le point 2 est à tester et à préconiser si ça marche bien... |
...
> |
...
> A\+ h1. Patch possible 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) { \+ // patch RB : fieldMap.put("surname", userId); userDir.createEntry(fieldMap); } else { entry.getDataModel(userManager.getUserSchemaName()).setMap( |