15.7.3. Configurer le fournisseur d'identités
Procédure 15.1. Configurer le fournisseur d'identités IDP
Configurer la sécurité de l'application web pour l'IDP
Configurer une application web comme fournisseur d'identité.Note
L'utilisation de la sécurité d'application web basée FORM est conseillée car elle donne la possibilité de personnaliser une page de connexion.Ce qui suit est un exemple de configurationweb.xmlExemple 15.6. Configuration
web.xmldans IDP<display-name>IDP</display-name> <description>IDP</description> <!-- Define a security constraint that gives unlimited access to images --> <security-constraint> <web-resource-collection> <web-resource-name>Images</web-resource-name> <url-pattern>/images/*</url-pattern> </web-resource-collection> </security-constraint> <!-- Define a Security Constraint on this Application --> <security-constraint> <web-resource-collection> <web-resource-name>IDP</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>manager</role-name> </auth-constraint> </security-constraint> <!-- Define the Login Configuration for this Application --> <login-config> <auth-method>FORM</auth-method> <realm-name>IDP Application</realm-name> <form-login-config> <form-login-page>/jsp/login.jsp</form-login-page> <form-error-page>/jsp/loginerror.jsp</form-error-page> </form-login-config> </login-config> <!-- Security roles referenced by this web application --> <security-role> <description> The role that is required to log in to the IDP Application </description> <role-name>manager</role-name> </security-role> </web-app>Créer un domaine de sécurité pour IDP
Créer un domaine de sécurité avec des mécanismes d'authentification et d'autorisation définis pour IDP. Voir Section 13.9, « Utiliser un domaine de sécurité dans votre application » pour obtenir des informations supplémentaires.Configurer les Valves IDP
Créer un fichierjboss-web.xmldans le répertoireWEB-INFde votre application web IDP pour configurer les valves de l'IDP. Ce qui suit est un exemple du fichierjboss-web.xml.Exemple 15.7. Configuration de fichier
jboss-web.xmlpour les valves IDP<jboss-web> <security-domain>idp</security-domain> <context-root>idp</context-root> <valve> <class-name>org.picketlink.identity.federation.bindings.tomcat.idp.IDPWebBrowserSSOValve</class-name> </valve> </jboss-web>Configurer le fichier de configuration PicketLink (
picketlink.xml)Voici un exemple de configurationpicketlink-idfed.xml. Dans ce fichier de configuration, vous fournissez l'URL ajouté comme émetteur dans les assertions SAML2 sortantes pour les fournisseurs de services et l'IDP.Exemple 15.8. Configuration
picketlink.xml<PicketLink xmlns="urn:picketlink:identity-federation:config:2.1"> <PicketLinkIDP xmlns="urn:picketlink:identity-federation:config:2.1"> <IdentityURL>http://localhost:8080/idp/</IdentityURL> </PicketLinkIDP> <Handlers xmlns="urn:picketlink:identity-federation:handler:config:2.1"> <Handler class="org.picketlink.identity.federation.web.handlers.saml2.SAML2IssuerTrustHandler" /> <Handler class="org.picketlink.identity.federation.web.handlers.saml2.SAML2LogOutHandler" /> <Handler class="org.picketlink.identity.federation.web.handlers.saml2.SAML2AuthenticationHandler" /> <Handler class="org.picketlink.identity.federation.web.handlers.saml2.RolesGenerationHandler" /> </Handlers> </PicketLink>Par défaut,picketlink.xmlse situe dans le répertoireWEB-INFde votre application web IDP. Cependant, vous pourrez configurer un chemin personnalisé vers unpicketlink.xmlexterne à l'application :Option : configurer un chemin personnalisé vers
picketlink.xmlAjouter deux paramètres à l'élément valve duWEB-INF/jboss-web.xmlde votre application :configFileindiquant le chemin verspicketlink.xml, ettimerIntervalqui indique l'intervalle qu'il faut pour charger la configuration en millisecondes. Par exemple :<valve> <class-name>...</class-name> <param> <param-name>timerInterval</param-name> <param-value>5000</param-value> </param> <param> <param-name>configFile</param-name> <param-value>path-to/picketlink.xml</param-value> </param> </valve>
Déclare les dépendances sur le module PicketLink (
META-INF/MANIFEST.MF, oujboss-deployment-structure.xml)L'application web exige aussi qu'une dépendance soit définie dansMETA-INF/MANIFEST.MFou dansjboss-deployment-structure.xmlpour trouver les classes de PicketLink puissent être localisées.Exemple 15.9. Définir la dépendance dans
META-INF/MANIFEST.MFManifest-Version: 1.0 Build-Jdk: 1.6.0_24 Dependencies: org.picketlinkExemple 15.10. Définir la dépendance dans
META-INF/jboss-deployment-structure.xml<jboss-deployment-structure> <deployment> <dependencies> <module name="org.picketlink" /> </dependencies> </deployment> </jboss-deployment-structure>