15.7.3. Configurer le fournisseur d'identités


IDP (Identity Provider) ou fournisseur d'identité est une instance de serveur JBoss EAP.

Procédure 15.1. Configurer le fournisseur d'identités IDP

  1. 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 configuration web.xml

    Exemple 15.6. Configuration web.xml dans 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>
    Copy to Clipboard Toggle word wrap
  2. 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.
  3. Configurer les Valves IDP

    Créer un fichier jboss-web.xml dans le répertoire WEB-INF de votre application web IDP pour configurer les valves de l'IDP. Ce qui suit est un exemple du fichier jboss-web.xml.

    Exemple 15.7. Configuration de fichier jboss-web.xml pour 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>
    Copy to Clipboard Toggle word wrap
  4. Configurer le fichier de configuration PicketLink (picketlink.xml)

    Voici un exemple de configuration picketlink-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>
    Copy to Clipboard Toggle word wrap
    Par défaut, picketlink.xml se situe dans le répertoire WEB-INF de votre application web IDP. Cependant, vous pourrez configurer un chemin personnalisé vers un picketlink.xml externe à l'application :
    1. Option : configurer un chemin personnalisé vers picketlink.xml

      Ajouter deux paramètres à l'élément valve du WEB-INF/jboss-web.xml de votre application : configFile indiquant le chemin vers picketlink.xml, et timerInterval qui 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>
      Copy to Clipboard Toggle word wrap
  5. Déclare les dépendances sur le module PicketLink (META-INF/MANIFEST.MF, ou jboss-deployment-structure.xml)

    L'application web exige aussi qu'une dépendance soit définie dans META-INF/MANIFEST.MF ou dans jboss-deployment-structure.xml pour trouver les classes de PicketLink puissent être localisées.

    Exemple 15.9. Définir la dépendance dans META-INF/MANIFEST.MF

    Manifest-Version: 1.0
        Build-Jdk: 1.6.0_24
        Dependencies: org.picketlink
    Copy to Clipboard Toggle word wrap

    Exemple 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>
    Copy to Clipboard Toggle word wrap
Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat