Salut,
Est-ce que vous savez s'il existe un version de l'agent OpenAM compatible avec JBoss EAP 6 / AS 7 ? Et si oui, où est-ce qu'on peut la trouver ?
Merci d'avance
Version imprimable
Salut,
Est-ce que vous savez s'il existe un version de l'agent OpenAM compatible avec JBoss EAP 6 / AS 7 ? Et si oui, où est-ce qu'on peut la trouver ?
Merci d'avance
Je pense finalement avoir répondu à ma question... Après d'innombrables recherches je n'ai trouvé aucun agent existant pour JBoss AS 7 à l'heure actuelle.
Donc pour pouvoir malgré tout lier une instance JBoss AS 7 à OpenAM, il a fallu configurer manuellement l'instance. Pour ce faire, je suis parti de l'agent jboss_v42_agent.zip disponible sur le site de forgerock. A partir des fichiers présents dans cet agent, j'ai construit un module pour JBoss AS 7. En gros, mon module inclut les fichiers agent.jar, openssoclient.jar ainsi que les fichiers de configuration (notamment OpenSSOAgentBootstrap.properties). J'ai alors créé le descripteur de module (module.xml) suivant:
Au niveau de la config de mon instance (fichier standalone.xml), j'ai ajouté un <security-domain> du style:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?xml version="1.0" encoding="UTF-8"?> <module xmlns="urn:jboss:module:1.1" name="openam.agents"> <resources> <resource-root path="agent.jar"/> <resource-root path="openssoclientsdk.jar"/> <resource-root path="."/> </resources> <dependencies> <module name="javax.api"/> <module name="javax.servlet.api" /> <module name="org.picketbox"/> </dependencies> </module>
Au niveau des applications que je souhaite déployer sur mon instance, j'ai encore dû modifier quelques fichiers:Code:
1
2
3
4
5
6
7
8
9
10 <security-domain name="AMRealm" cache-type="default"> <authentication> <login-module code="com.sun.identity.agents.jboss.v40.AmJBossLoginModule" flag="required"> <module-option name="unauthenticatedIdentity" value="anonymous"/> </login-module> <login-module code="org.jboss.security.ClientLoginModule" flag="required"> <module-option name="restore-login-identity" value="true"/> </login-module> </authentication> </security-domain>
web.xml: ajout d'un <filter> et d'un <filter-mapping>:
jboss-web.xml:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <filter> <filter-name>Agent</filter-name> <display-name>Agent</display-name> <description>OpenAM Tomcat Policy Agent Filter</description> <filter-class>com.sun.identity.agents.filter.AmAgentFilter</filter-class> </filter> <filter-mapping> <filter-name>Agent</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>INCLUDE</dispatcher> <dispatcher>FORWARD</dispatcher> <dispatcher>ERROR</dispatcher> </filter-mapping>
MANIFEST.MF: Ajout d'une ligne "Dependencies: openam.agents", où openam.agents est le nom du module que j'ai créé.Code:
1
2
3
4 <?xml version="1.0" encoding="UTF-8"?> <jboss-web> <security-domain>AMRealm</security-domain> </jboss-web>
J'ai également déployé agentapp.war après y avoir modifié le fichier MANIFEST.MF comme décrit ci-dessus.
Ce n'est certainement pas la manière la plus propre de lier JBoss AS7 et OpenAM, mais ça semble bien fonctionner, en attendant qu'une version officielle de l'agent n'apparaisse.