15.7.6. Configurer un sélecteur de comptes dynamiques (Dynamic Account Chooser) auprès d'un fournisseur de services
Conditions préalables :
Si un SP (Service Provider) est configuré avec plusieurs IDP (Identity Providers), PicketLink peut être configuré pour inviter l'utilisateur à choisir l'IDP à utiliser pour authentifier leurs identitfiants.
Procédure 15.4. Configurer un sélecteur de comptes dynamiques (Dynamic Account Chooser) auprès d'un fournisseur de services
- Configurer la valve
jboss-web.xml
dans le répertoireWEB-INF
de votre application web SP.Exemple 15.16. Configuration de fichier
jboss-web.xml
pour les Sélecteurs de comptes SP<jboss-web> <security-domain>sp</security-domain> <context-root>accountchooser</context-root> <valve> <class-name>org.picketlink.identity.federation.bindings.tomcat.sp.AccountChooserValve</class-name> </valve> <valve> <class-name>org.picketlink.identity.federation.bindings.tomcat.sp.ServiceProviderAuthenticator</class-name> </valve> </jboss-web>
AccountChooserValve
a les options de configuration suivantes :- DomainName
- Le nom de domaine à utiliser par le cookie envoyé dans le navigateur de l'utilisateur.
- CookieExpiry
- La durée d'expiration du cookie en secondes. La valeur par défaut est
-1
, ce qui veut dire que le cookie expire quand le navigateur est fermé. - AccountIDPMapProvider
- Le nom complet de l'implémentation d'IDP Mapping. La valeur par défaut correspond à un fichier de propriétés
idpmap.properties
qui se trouve dans le répertoireWEB-INF
directory of de votre application web SP. Cette implementation doit implémenterorg.picketlink.identity.federation.bindings.tomcat.sp.AbstractAccountChooserValve.AccountIDPMapProvider
. - AccountChooserPage
- Le nom de la page HTML/JSP qui liste les divers comptes IDP. La valeur par défaut est
/accountChooser.html
.
- Définir le mappage des IDP. Il s'agit par défaut d'un fichier de propriétés
idpmap.properties
qui se trouve dans le répertoireWEB-INF
de votre application web SP.Exemple 15.17. Configuration
idpmap.properties
DomainA=http://localhost:8080/idp1/ DomainB=http://localhost:8080/idp2/
- Créer une page HTML dans votre application web de SP pour que l'utilisateur puisque choisir l'IDP. Par défaut, ce fichier est
accountChooser.html
. L'URL de chacun des IDP doit avoir le paramètreidp
qui spécifie le nom de l'IDP répertorié dansidpmap.properties
.Exemple 15.18.
accountChooser.html
Configuration<html> ... <a href="?idp=DomainA">DomainA</a> <hr/> <a href="?idp=DomainB">DomainB</a> ... </html>