現在、JBoss EAP 6 の公式エージェントはないようです。
ただし、JBoss インスタンスを手動で構成することにより、OpenAM SSO で動作させることができました。そのために、forgerock ダウンロード サイトで入手できる既存の jboss_v42_agent.zip から始めました。jar の agent.jar、openssoclientsdk.jar、およびエージェント構成ファイルを使用して、この module.xml を使用して JBoss モジュールを構築できました。
<?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>
次に、セキュリティ ドメインを追加して、standalone.xml を更新する必要があります。
<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>
最後に、次の行を追加して MANIFEST.MF を変更した後、agentapp.war を JBoss にデプロイしました。
Dependencies: openam.agents
ここで、openam.agents はモジュールの名前です。
ここで、SSO を有効にしたいアプリケーションに対して、いくつかの更新も実行する必要があります。
web.xml : ノードとノードを追加します。
<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>
jboss-web.xml : 使用するセキュリティ ドメインを宣言します
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<security-domain>AMRealm</security-domain>
</jboss-web>
MANIFEST.MF : agentapp.was と同じ修正を適用 (「Dependencies: openam.agents」行を追加)
JBoss EAP 6 / AS 7 で SSO を有効にするのが最善の方法かどうかはわかりませんが (私は専門家ではありません)、うまく機能しているようです。