You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2017/09/13 15:05:57 UTC

svn commit: r1018111 [32/33] - in /websites/production/cxf/content: ./ cache/ docs/

Modified: websites/production/cxf/content/fediz-cxf.html
==============================================================================
--- websites/production/cxf/content/fediz-cxf.html (original)
+++ websites/production/cxf/content/fediz-cxf.html Wed Sep 13 15:05:52 2017
@@ -111,7 +111,7 @@ Apache CXF -- Fediz CXF
            <!-- Content -->
            <div class="wiki-content">
 <div id="ConfluenceContent"><h1 id="FedizCXF-CXFPlugin(1.1/1.2)">CXF Plugin (1.1/1.2)</h1><p>The Fediz plugin for CXF contains two separate pieces of functionality. The first is a CallbackHandler that allows the SAML Token of the Web SSO session to be used by the CXF Web Services Stack, i.e. for delegation (available since 1.1). The second is a full WS-Federation RP plugin based solely on Apache CXF JAX-RS, which is container independent (available since 1.2.0).</p><h2 id="FedizCXF-CXFPluginsupportforWS-Federation">CXF Plugin support for WS-Federation</h2><p>The new CXF plugin for WS-Federation available from Fediz 1.2.0 means that it is now possible to add support for WS-Federation to your JAX-RS CXF service without having to specify a container-specific plugin. Here is an example Spring based configuration:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>CXF spring configuration</b></div><div cl
 ass="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">&lt;bean id="serviceBean" class="org.apache.cxf.fediz.example.Service"&gt;
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">&lt;bean id="serviceBean" class="org.apache.cxf.fediz.example.Service"&gt;
 &lt;/bean&gt;
    
 &lt;bean id="fedizFilter" class="org.apache.cxf.fediz.cxf.plugin.FedizRedirectBindingFilter"&gt;
@@ -137,7 +137,7 @@ Apache CXF -- Fediz CXF
     &lt;/jaxrs:inInterceptors&gt;
 &lt;/jaxrs:server&gt;</pre>
 </div></div><p>Here we have a JAX-RS service which is secured via the SecureAnnotationsInterceptor. For example:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>CXF Service Bean</b></div><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">@Path("/secure/")
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">@Path("/secure/")
 @Produces("text/html")
 public class Service {
     @Context
@@ -152,14 +152,14 @@ public class Service {
     ...
 }</pre>
 </div></div><p>The FedizRedirectBindingFilter is instantiated with a link to the Fediz plugin configuration and is added as a JAX-RS provider.</p><h2 id="FedizCXF-DelegationScenario">Delegation Scenario</h2><p>The subproject Fediz purpose is to provide Single Sign On for Web Applications which is independent of an underlying Web Services framework like Apache CXF. The Fediz plugins for Tomcat, Jetty, etc. are independent of Apache CXF, whereas the Fediz IDP leverages the capabilities of the CXF STS to issue SAML tokens with Claims information to build applications which use Claims Based Authorization with all the benefits.</p><p>If the Fediz protected web application integrates with another application using Web Services you need to bundle a Web Services framework like Apache CXF with your web application. If it is required to support impersonation to call the Web Service, the security context of the application server must be delegated to the Web Services stack thus it can make the
  Web Service call on behalf of the browser user.</p><p>In release 1.1, the Fediz CXF plugin supports delegating the application server security context (SAML token) to the STS client of CXF. CXF is then able to request a security token for the target Web Service from the STS on behalf of the browser user. Prior to release 1.1, this Java code had to be developed by the application developer.</p><p>It is required that one of the other Fediz plugins are deployed to WS-Federation enable the application. After this step, the Fediz CXF plugin can be installed to integrate the Web SSO layer with the Web Services stack of Apache CXF.</p><h3 id="FedizCXF-Installation">Installation</h3><p>It's recommended to use Maven to resolve the dependencies as illustrated in the the example <code>wsclientWebapp</code>.</p><div class="code panel pdl" style="border-style: solid;border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;border-bottom-style: solid;"><b>pom.xm
 l</b></div><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">    &lt;dependency&gt;
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">    &lt;dependency&gt;
         &lt;groupId&gt;org.apache.cxf.fediz&lt;/groupId&gt;
         &lt;artifactId&gt;fediz-cxf&lt;/artifactId&gt;
         &lt;version&gt;1.1.0&lt;/version&gt;
     &lt;/dependency&gt;
 </pre>
 </div></div><p>The example contains a README with instructions for building and deployment.</p><h3 id="FedizCXF-Configuration">Configuration</h3><p>Two configurations are required in <code>web.xml</code> to enable the <code>FederationFilter</code> to cache the security context in the thread local storage and in the spring configuration file <code>applicationContext.xml</code> to configure a callback handler to provide the STS client the security context stored in the thread local storage.</p><div class="code panel pdl" style="border-style: solid;border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;border-bottom-style: solid;"><b>web.xml</b></div><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">    &lt;filter&gt;
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">    &lt;filter&gt;
         &lt;filter-name&gt;FederationFilter&lt;/filter-name&gt;
         &lt;filter-class&gt;org.apache.cxf.fediz.core.servlet.FederationFilter&lt;/filter-class&gt;
     &lt;/filter&gt;
@@ -170,7 +170,7 @@ public class Service {
     &lt;/filter-mapping&gt;
 </pre>
 </div></div><p>The <code>FederationFilter</code> is part of the library <code>fediz-core</code>.</p><div class="code panel pdl" style="border-style: solid;border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;border-bottom-style: solid;"><b>applicationContext.xml</b></div><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">    &lt;bean id="delegationCallbackHandler"
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">    &lt;bean id="delegationCallbackHandler"
         class="org.apache.cxf.fediz.cxf.web.ThreadLocalCallbackHandler" /&gt;
 
     &lt;jaxws:client id="HelloServiceClient" serviceName="svc:GreeterService"
@@ -190,7 +190,7 @@ public class Service {
 
 </pre>
 </div></div><p>The <code>ThreadLocalCallbackHandler</code> is part of the library <code>fediz-cxf</code>.</p><p>If you have set the property <code>ws-security.cache.issued.token.in.endpoint</code> to false, CXF will cache the issued token per security context dependent on the returned lifetime element of the STS. When the cached token for the target web services is expired, CXF will request a new token from the STS on-behalf-of the cached Fediz security context.</p><p>There is no special Java code required to get this functionality as illustrated in the following code snippet:</p><div class="code panel pdl" style="border-style: solid;border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;border-bottom-style: solid;"><b>FederationServlet.java</b></div><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">    Greeter service = (Greeter)ApplicationContextProvider.getContext().getBean("HelloServiceClient");
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">    Greeter service = (Greeter)ApplicationContextProvider.getContext().getBean("HelloServiceClient");
     String reply = service.greetMe();
 </pre>
 </div></div></div>

Modified: websites/production/cxf/content/fediz-downloads.html
==============================================================================
--- websites/production/cxf/content/fediz-downloads.html (original)
+++ websites/production/cxf/content/fediz-downloads.html Wed Sep 13 15:05:52 2017
@@ -110,14 +110,14 @@ Apache CXF -- Fediz Downloads
            <!-- Content -->
            <div class="wiki-content">
 <div id="ConfluenceContent"><h1 id="FedizDownloads-Releases">Releases</h1><h2 id="FedizDownloads-1.4.1">1.4.1</h2><p>The 1.4.1 release is our latest release. For more information please see the <a shape="rect" class="external-link" href="https://issues.apache.org/jira/projects/FEDIZ/versions/12340452">release notes</a>.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>File</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>MD5</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>SHA1</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>PGP</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua?path=/cxf/fediz/1.4.1/fediz-1.4.1-source-release.zip">
 fediz-1.4.1-source-release.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/fediz/1.4.1/fediz-1.4.1-source-release.zip.md5">fediz-1.4.1-source-release.zip.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/fediz/1.4.1/fediz-1.4.1-source-release.zip.sha1">fediz-1.4.1-source-release.zip.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/fediz/1.4.1/fediz-1.4.1-source-release.zip.asc">fediz-1.4.1-source-release.zip.asc</a></p></td></tr></tbody></table></div><h2 id="FedizDownloads-1.3.2">1.3.2</h2><p>The 1.3.2 release is our latest release of the 1.3.x branch. For more information please see the <a shape="rect" class="external-link" href="https://issues.apache.org/jira/browse/FEDIZ/fixforversion/12338091">rele
 ase notes</a>.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>File</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>MD5</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>SHA1</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>PGP</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua?path=/cxf/fediz/1.3.2/fediz-1.3.2-source-release.zip">fediz-1.3.2-source-release.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/fediz/1.3.2/fediz-1.3.2-source-release.zip.md5">fediz-1.3.2-source-release.zip.md5</a></p></td><td colspan="1" rowspan="1" class="conflu
 enceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/fediz/1.3.2/fediz-1.3.2-source-release.zip.sha1">fediz-1.3.2-source-release.zip.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/fediz/1.3.2/fediz-1.3.2-source-release.zip.asc">fediz-1.3.2-source-release.zip.asc</a></p></td></tr></tbody></table></div><h2 id="FedizDownloads-VerifyingReleases">Verifying Releases</h2><p>When downloading from a mirror please check the SHA1/MD5 checksums as well as verifying the OpenPGP compatible signature available from the main Apache site. The <a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/KEYS">KEYS</a> file contains the public keys used for signing the release. It is recommended that a web of trust is used to confirm the identity of these keys.</p><p>You can check the OpenPGP signature with GnuPG via:</p><p>&#160;</p><div class="code panel 
 pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">gpg --import KEYS
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">gpg --import KEYS
 gpg --verify apache-fediz-*.zip.asc
 </pre>
 </div></div><p>You can check the MD5 checksum with:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">md5sum --check apache-fediz-*.zip.md5
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">md5sum --check apache-fediz-*.zip.md5
 </pre>
 </div></div><p>You can check the SHA1 checksum with:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">sha1sum --check apache-fediz-*.zip.sha1
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">sha1sum --check apache-fediz-*.zip.sha1
 </pre>
 </div></div><h1 id="FedizDownloads-Previousreleases">Previous releases</h1><p>Previous releases are all archived in the apache archive: <a shape="rect" class="external-link" href="http://archive.apache.org/dist/cxf/fediz">http://archive.apache.org/dist/cxf/fediz</a></p><h1 id="FedizDownloads-Snapshots">Snapshots</h1><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Warning about snapshots</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>These are snapshot builds - untested builds provided for your convenience. They have not been tested, and are not official releases of the Apache CXF Fediz project or the Apache Software Foundation.</p></div></div><p>1.4.1 <a shape="rect" class="external-link" href="https://repository.apache.org/content/groups/snapshots/org/apache/cxf/fediz/apache-fediz/1.4.1-SNAPSHOT/">https://repository.apache.org/co
 ntent/groups/snapshots/org/apache/cxf/fediz/apache-fediz/1.4.1-SNAPSHOT/</a></p><h1 id="FedizDownloads-Maven2Repositories">Maven 2 Repositories</h1><p>If you use Maven 2 for building your applications, Apache CXF Fediz artifacts are available from the following repository URLS:</p><h3 id="FedizDownloads-Releases:">Releases:</h3><p>All supported CXF releases are synced into the Maven central repository: <a shape="rect" class="external-link" href="http://repo1.maven.org/maven2/" rel="nofollow">http://repo1.maven.org/maven2/</a></p><h3 id="FedizDownloads-Snapshots:">Snapshots:</h3><p>Snapshots are available in Apache's Maven snapshot repository: <a shape="rect" class="external-link" href="http://repository.apache.org/snapshots">http://repository.apache.org/snapshots</a></p></div>
            </div>

Modified: websites/production/cxf/content/fediz-extensions.html
==============================================================================
--- websites/production/cxf/content/fediz-extensions.html (original)
+++ websites/production/cxf/content/fediz-extensions.html Wed Sep 13 15:05:52 2017
@@ -110,7 +110,7 @@ Apache CXF -- Fediz Extensions
            <!-- Content -->
            <div class="wiki-content">
 <div id="ConfluenceContent"><h1 id="FedizExtensions-FedizExtensions">Fediz Extensions</h1><p>This page describes the extension points in Fediz to enrich its functionality further.</p><h3 id="FedizExtensions-CallbackHandler">Callback Handler</h3><p>The Sign-In request (Redirect URL) to the IDP contains several query parameters to customize the sign in process. Some parameters are configured statically in the <a shape="rect" href="fediz-configuration.html">Fediz configuration file</a> some others can be resolved at runtime when the initial request is received by the Fediz plugin.</p><p>The following table gives an overview of the parameters which can be resolved at runtime. It contains the XML element name of the Fediz configuration file, the query parameter name of the sign-in request to the IDP as well as the Callback class.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>XML element</p></th><th colspan="1" row
 span="1" class="confluenceTh"><p>Query parameter</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Callback class</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Supported version</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>authenticationType</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>wauth</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>WAuthCallback</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>1.0.0</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>homeRealm</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>whr</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>HomeRealmCallback</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>1.0.0</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>issuer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>N.A.</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>IDPCallback</
 p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>1.0.0</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>freshness</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>wfresh</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>FreshnessCallback</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>1.0.2</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>realm</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>wtrealm</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>RealmCallback</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>1.1.0</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>N.A.</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>any</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>SignInQueryCallback</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>1.1.0</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">request</
 td><td colspan="1" rowspan="1" class="confluenceTd">wreq</td><td colspan="1" rowspan="1" class="confluenceTd">WReqCallback</td><td colspan="1" rowspan="1" class="confluenceTd">1.1.1</td></tr></tbody></table></div><p>If you configure a class which implements the interface <code>javax.security.auth.callback.CallbackHandler</code> you get the corresponding Callback object where you must set the value which is then added to the query parameter. The Callback object provides the <code>HttpServletRequest</code> object which might give you the required information to resolve the value.</p><p>Here is a snippet of the configuration to configure a CallbackHandler:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">...
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">...
         &lt;protocol xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="federationProtocolType" version="1.2"&gt;
             ...
             &lt;homeRealm type="Class" value="MyCallbackHandler " /&gt;
@@ -119,7 +119,7 @@ Apache CXF -- Fediz Extensions
 ...
 </pre>
 </div></div><p>And a sample implementation of the CallbackHandler:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">public class MyCallbackHandler implements CallbackHandler {
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">public class MyCallbackHandler implements CallbackHandler {
     
     public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
         for (int i = 0; i &lt; callbacks.length; i++) {

Modified: websites/production/cxf/content/fediz-idp-11.html
==============================================================================
--- websites/production/cxf/content/fediz-idp-11.html (original)
+++ websites/production/cxf/content/fediz-idp-11.html Wed Sep 13 15:05:52 2017
@@ -111,15 +111,15 @@ Apache CXF -- Fediz IDP 1.1
            <!-- Content -->
            <div class="wiki-content">
 <div id="ConfluenceContent"><h1 id="FedizIDP1.1-FedizIDP">Fediz IDP</h1><p><em>Note:</em> Fediz IDP 1.0 is described <a shape="rect" href="fediz-idp.html">here </a>.</p><p>The Release 1.1 introduces the following new feature:</p><ul><li>Federation Metadata<br clear="none"> The IDP supports publishing the WS-Federation Metadata document which allows to more easily integrate the IDP into platforms which support referencing a Metadata document. Metadata consists of the signing certificate, the provided claims, etc.</li></ul><ul><li>Spring Web Flow support<br clear="none"> The IDP has been refactored to use Spring Web Flow to manage the federation flow. This provides flexibility to be able to customize the IDP to company's specific requirements. The IDP is secured by Spring Security to get the benefits and flexibility of Spring Security.</li></ul><ul><li>Resource IDP and Home Realm Discovery<br clear="none"> This is the major new feature. The IDP is able to figure out from which securit
 y domain/realm the browser request is coming from to redirect the sign-in request to the requestor IDP which does the authentication and issues a token which is sent to the Resource IDP. The Resource IDP will then either map the principal from one security domain to the target security domain and get claims information of the mapped principal or transform the claims information and finally issue a new token for the relying party (application).</li></ul><p>The Fediz Identity Provider (IDP) consists of two WAR files. One is the Security Token Service (STS) component, fediz-idp-sts.war, which is responsible for validating credentials, getting the requested claims data and issuing a SAML token. There is no easy way for Web browsers to issue SOAP requests to the STS directly, necessitating the second component, an IDP WAR (fediz-idp.war) which allows browser-based applications to interact with the STS. The communication between the browser and the IDP must be performed within the confine
 s of the base HTTP 1.1 functionality and conform as closely as possible to the WS-Trust protocols semantic.</p><p>The Fediz STS is based on a customized CXF STS configured to support standard Federation use cases demonstrated by the examples. The Fediz STS has been enhanced to support two realms *Realm-A* and *Realm-B* with the following set of users:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>User</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Password</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><em>Realm A</em></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>alice</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>ecila</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>bob</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>bob</p></td></tr><tr>
 <td colspan="1" rowspan="1" class="confluenceTd"><p>ted</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>det</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><em>Realm B</em></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>ALICE</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>ECILA</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>BOB</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>BOB</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>TED</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>DET</p></td></tr></tbody></table></div><p>The Fediz IDP doesn't support several realms within one WAR which requires to build a Fediz IDP WAR for Realm A (default, shipped with Fediz Distribution) and Realm B. See below how to build a Fediz IDP WAR for a specific realm.</p><h3 id="FedizIDP1.1-Installation">Insta
 llation</h3><p>The Fediz IDP has been tested with Tomcat 6 and 7 but should be able to work with any commercial JEE application server.</p><p>It's recommended to set up a dedicated (separate) Tomcat instance for the IDP compared to the one hosting the RP (relying party) applications. Using one deployment of Tomcat with multiple CATALINA_BASE instances, as described <a shape="rect" class="external-link" href="http://www.shaunabram.com/multiple-tomcat-instances/" rel="nofollow">here</a> is one option but note any libs in $CATALINA_HOME/lib folder will be shared throughout each of the activated CATALINA_BASE instances. Another probably simpler alternative is to copy your Tomcat folder into a second location and edit its conf/server.xml file and <a shape="rect" class="external-link" href="http://viralpatel.net/blogs/2009/08/running-multiple-instance-apache-tomcat-single-server.html" rel="nofollow">change port values</a> (discussed below) so they don't conflict with the original Tomcat i
 nstallation.</p><p>To start and stop this second Tomcat instance, it is perhaps easiest to create small startup.sh and shutdown.sh scripts that temporarily redefine $CATALINA_HOME from the first to the second instance, for example:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">CATALINA_HOME=/path/to/second/tomcat
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">CATALINA_HOME=/path/to/second/tomcat
 $CATALINA_HOME/bin/startup.sh
 </pre>
 </div></div><p>and</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">CATALINA_HOME=/path/to/second/tomcat
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">CATALINA_HOME=/path/to/second/tomcat
 $CATALINA_HOME/bin/shutdown.sh
 </pre>
 </div></div><p>If you're using the one Tomcat with multiple instance option, it's $CATALINA_BASE instead that will need to be redefined above.</p><h5 id="FedizIDP1.1-Tomcatserver.xmlconfiguration">Tomcat server.xml configuration</h5><p>The Fediz examples use the following Tomcat port values for the IDP/STS, defined in the conf/server.xml file. We use ports different from the Tomcat defaults so as not to conflict with the Tomcat instance running the RP applications.</p><ul><li>HTTP port: 9080 (used for Maven deployment, mvn tomcat:redeploy)</li><li>HTTPS port: 9443 (where IDP and STS are accessed)</li><li>Server port: 9005 (for shutdown and other commands)</li></ul><p>Here is a sample snippet for showing the configuration of the above three values:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">&lt;Server port="9005" shutdown="SHUTDOWN"&gt;
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">&lt;Server port="9005" shutdown="SHUTDOWN"&gt;
 ...
 
    &lt;!-- http configuration --&gt;
@@ -142,7 +142,7 @@ $CATALINA_HOME/bin/shutdown.sh
 &lt;/Server&gt;
 </pre>
 </div></div><p>The keystoreFile is relative to $CATALINA_BASE. See <a shape="rect" class="external-link" href="http://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html">here</a> for the Tomcat 7 configuration reference. This page also describes how to create certificates. Sample Tomcat keystores (not for production use, but useful for demoing Fediz and running the sample applications) are provided in the examples/samplekeys folder of the Fediz distribution.</p><p>To establish trust, there are significant keystore/truststore requirements between the Tomcat instances and the various web applications (IDP, STS, Relying party applications, third party web services, etc.) See <a shape="rect" class="external-link" href="http://svn.apache.org/viewvc/cxf/fediz/tags/fediz-1.1.0/examples/samplekeys/HowToGenerateKeysREADME.html?revision=1538770&amp;view=co">this page</a> for more details, it lists the trust requirements as well as sample scripts for creating your own (self-signed) keys.</p><p><s
 trong>Warning: All sample keystores provided with Fediz (including in the WAR files for its services and examples) are for development/prototyping use only. They'll need to be replaced for production use, at a minimum with your own self-signed keys but strongly recommended to use third-party signed keys.</strong></p><h5 id="FedizIDP1.1-BuildtheIDPWAR">Build the IDP WAR</h5><p>The Fediz 1.1 distribution ships one Fediz IDP WAR built for Realm-A by default. The distribution also contains the IDP and STS sources with two Maven Profiles <em>realm-a</em> and <em>realm-b</em>. More information is provided in the <code>README.txt</code> <a shape="rect" class="external-link" href="http://svn.apache.org/viewvc/cxf/fediz/tags/fediz-1.1.0/services/idp/README.txt?view=co">here</a></p><p>Once you deploy the IDP WAR files to your Tomcat installation (&lt;catalina.home&gt;/webapps), you should be able to see the Fediz STS from a browser. Assuming port 9080 as listed above, the STS WSDL is availabl
 e at:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh">Version</th><th colspan="1" rowspan="1" class="confluenceTh"><a shape="rect" class="external-link" href="http://localhost:9080/fediz-idp-sts/STSService?wsdl" rel="nofollow">STS</a> WSDL location</th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Fediz 1.0.x</td><td colspan="1" rowspan="1" class="confluenceTd"><a shape="rect" class="external-link" href="http://localhost:9080/fediz-idp-sts/STSService?wsdl" rel="nofollow">http://localhost:9080/fediz-idp-sts/STSService?wsdl</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Fediz 1.1.x</td><td colspan="1" rowspan="1" class="confluenceTd"><a shape="rect" class="external-link" href="http://localhost:9080/fediz-idp-sts/STSService?wsdl" rel="nofollow">http://localhost:9080/fediz-idp-sts/</a><a shape="rect" class="external-link" href="https://localhost:9443/fediz-idp-sts/REALMA/STSServiceTransp
 ort?wsdl" rel="nofollow">REALMA/STSServiceTransport?wsdl</a></td></tr></tbody></table></div><h3 id="FedizIDP1.1-Configuration">Configuration</h3><p>You can manage the users, their claims and the claims per application in the IDP.</p><h5 id="FedizIDP1.1-Userandpassword">User and password</h5><p>The users and passwords are configured in a Spring configuration file in <code>webapps/fediz-idp-sts/WEB-INF/passwords.xml</code>. The following users are already configured for the <em>Realm A</em> and can easily be extended.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">    &lt;util:map id="REALMA"&gt;
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">    &lt;util:map id="REALMA"&gt;
         &lt;entry key="alice" value="ecila" /&gt;
         &lt;entry key="bob" value="bob" /&gt;
         &lt;entry key="ted" value="det" /&gt;
@@ -155,7 +155,7 @@ $CATALINA_HOME/bin/shutdown.sh
     &lt;/util:map&gt;
 </pre>
 </div></div><h5 id="FedizIDP1.1-UserClaims">User Claims</h5><p>The claims of each user are configured in a spring configuration file <code>webapps/fediz-idp-sts/WEB-INF/userClaims.xml</code>. The following claims are already configured:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">  &lt;util:map id="userClaimsREALMA"&gt;
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">  &lt;util:map id="userClaimsREALMA"&gt;
     &lt;entry key="alice"
       value-ref="REALMA_aliceClaims" /&gt;
     &lt;entry key="bob"
@@ -176,7 +176,7 @@ $CATALINA_HOME/bin/shutdown.sh
   &lt;/util:map&gt;
 </pre>
 </div></div><p>The claim id's are configured according to Section 7.5 in the specification <a shape="rect" class="external-link" href="http://docs.oasis-open.org/imi/identity/v1.0/identity.html" rel="nofollow">Identity Metasystem Interoperability</a>. The mapping of claims to a SAML attribute statement are described in Section 7.2.</p><h5 id="FedizIDP1.1-IDPconfiguration">IDP configuration</h5><p>The IDP configuration is done in the new configuration file <code>idp-config-&lt;realm&gt;.xml</code> which is illustrated below</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">    &lt;bean id="idp-realmA" class="org.apache.cxf.fediz.service.idp.model.IDPConfig"&gt;
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">    &lt;bean id="idp-realmA" class="org.apache.cxf.fediz.service.idp.model.IDPConfig"&gt;
         &lt;property name="realm" value="urn:org:apache:cxf:fediz:idp:realm-A" /&gt;
         &lt;property name="uri" value="realma" /&gt;
         &lt;!--&lt;property name="hrds" value="" /&gt;--&gt; &lt;!-- TBD, not defined, provide list if enabled --&gt;
@@ -212,7 +212,7 @@ $CATALINA_HOME/bin/shutdown.sh
     &lt;/bean&gt;
 </pre>
 </div></div><h5 id="FedizIDP1.1-RelyingParty/Applicationconfiguration">Relying Party / Application configuration</h5><p><em>Note: The configuration file</em> <code><em>RPClaims.xml</em></code> <em>has been replaced</em></p><p>The application related configuration like required claims are configured in the new IDP configuration file <code>idp-config-&lt;realm&gt;.xml</code> which has been enhanced to support other configuration parameters as well:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">    &lt;bean id="srv-fedizhelloworld" class="org.apache.cxf.fediz.service.idp.model.ServiceConfig"&gt;
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">    &lt;bean id="srv-fedizhelloworld" class="org.apache.cxf.fediz.service.idp.model.ServiceConfig"&gt;
         &lt;property name="realm" value="urn:org:apache:cxf:fediz:fedizhelloworld" /&gt;
         &lt;property name="protocol" value="http://docs.oasis-open.org/wsfed/federation/200706" /&gt;
         &lt;property name="serviceDisplayName" value="Fedizhelloworld" /&gt;
@@ -243,7 +243,7 @@ $CATALINA_HOME/bin/shutdown.sh
     &lt;/bean&gt;
 </pre>
 </div></div><h5 id="FedizIDP1.1-TrustedIDPconfiguration">Trusted IDP configuration</h5><p>This feature is new in Fediz IDP 1.1 and allows to redirect a SignIn Request to a trusted IDP. The following configuration is required:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">    &lt;bean id="trusted-idp-realmB" class="org.apache.cxf.fediz.service.idp.model.TrustedIDPConfig"&gt;
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">    &lt;bean id="trusted-idp-realmB" class="org.apache.cxf.fediz.service.idp.model.TrustedIDPConfig"&gt;
         &lt;property name="realm" value="urn:org:apache:cxf:fediz:idp:realm-B" /&gt;
         &lt;property name="url" value="https://localhost:12443/fediz-idp-remote/federation" /&gt;
         &lt;property name="certificate" value="realmb.cert" /&gt;
@@ -255,7 +255,7 @@ $CATALINA_HOME/bin/shutdown.sh
     &lt;/bean&gt;
 </pre>
 </div></div><h3 id="FedizIDP1.1-ConfigureLDAPdirectory">Configure LDAP directory</h3><p>The Fediz IDP can be configured to attach an LDAP directory to authenticate users and to retrieve claims information of users.</p><h5 id="FedizIDP1.1-Usernameandpasswordauthentication">Username and password authentication</h5><p>WSS4J supports username/password authentication using JAAS. The JDK provides a JAAS LoginModule for LDAP which can be configured as illustrated here in a sample jaas configuration (jaas.config):</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">myldap {
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">myldap {
  com.sun.security.auth.module.LdapLoginModule REQUIRED
  userProvider=ldap://ldap.mycompany.org:389/OU=Users,DC=mycompany,DC=org"
  authIdentity="cn={USERNAME},OU=Users,DC=mycompany,DC=org"
@@ -264,12 +264,12 @@ $CATALINA_HOME/bin/shutdown.sh
 };
 </pre>
 </div></div><p>You can get more information about this LoginModule <a shape="rect" class="external-link" href="http://download.oracle.com/javase/6/docs/jre/api/security/jaas/spec/com/sun/security/auth/module/LdapLoginModule.html" rel="nofollow">here</a>.</p><p>In this example, all the users are stored in the organization unit Users within mycompany.org. The configuration filename can be chosen, e.g. <code>jaas.config</code>. The filename must be configured as a JVM argument. JVM related configurations for Tomcat can be done in the file <code>setenv.sh/bat</code> located in directory <code>tomcat/bin</code>. This script is called implicitly by <code>catalina.bat/sh</code> and might look like this for UNIX:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">#!/bin/sh
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">#!/bin/sh
 JAVA_OPTS="-Djava.security.auth.login.config=/opt/tomcat/conf/jaas.config"
 export JAVA_OPTS
 </pre>
 </div></div><p>Next, the STS endpoint has to be configured to use the JAAS LoginModule which is accomplished by the <code>JAASUsernameTokenValidator</code>.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">&lt;bean
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">&lt;bean
   class="org.apache.ws.security.validate.JAASUsernameTokenValidator"
       id="jaasUTValidator"&gt;
    &lt;property name="contextName" value="myldap"/&gt;
@@ -290,7 +290,7 @@ export JAVA_OPTS
 &lt;/jaxws:endpoint&gt;
 </pre>
 </div></div><p>The property <code>contextName</code> must match the context name defined in the JAAS configuration file which is <code>myldap</code> in this example.</p><h5 id="FedizIDP1.1-Claimsmanagement">Claims management</h5><p>When a STS client (IDP) requests a claim, the ClaimsManager in the STS checks every registered ClaimsHandler who can provide the data of the requested claim. The CXF STS provides <code>org.apache.cxf.sts.claims.LdapClaimsHandler</code> which is a claims handler implementation to get claims from user attributes in a LDAP directory.</p><p>You configure which claim URI maps to which LDAP user attribute. The implementation uses the Spring Ldap Module (LdapTemplate).</p><p>The following example illustrate the changes to be made in <code>webapps/fediz-idp-sts/WEB-INF/cxf-transport.xml</code>:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">&lt;util:list id="claimHandlerList"&gt;
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">&lt;util:list id="claimHandlerList"&gt;
   &lt;ref bean="ldapClaimsHandler" /&gt;
 &lt;/util:list&gt;
 

Modified: websites/production/cxf/content/fediz-idp.html
==============================================================================
--- websites/production/cxf/content/fediz-idp.html (original)
+++ websites/production/cxf/content/fediz-idp.html Wed Sep 13 15:05:52 2017
@@ -125,7 +125,7 @@ Apache CXF -- Fediz IDP
 <p>To start and stop this second Tomcat instance, it is perhaps easiest to create small startup.sh and shutdown.sh scripts that temporarily redefine $CATALINA_HOME from the first to the second instance, for example:</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
 CATALINA_HOME=/path/to/second/tomcat
 $CATALINA_HOME/bin/startup.sh
 </pre>
@@ -134,7 +134,7 @@ $CATALINA_HOME/bin/startup.sh
 <p>and</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
 CATALINA_HOME=/path/to/second/tomcat
 $CATALINA_HOME/bin/shutdown.sh
 </pre>
@@ -152,7 +152,7 @@ $CATALINA_HOME/bin/shutdown.sh
 <p>Here is a sample snippet for showing the configuration of the above three values:</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
 &lt;Server port="9005" shutdown="SHUTDOWN"&gt;
 ...
 
@@ -194,7 +194,7 @@ $CATALINA_HOME/bin/shutdown.sh
 
 <p>The users and passwords are configured in a Spring configuration file in <code>webapps/fediz-idp-sts/WEB-INF/passwords.xml</code>. The following users are already configured and can easily be extended.</p>
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
     &lt;util:map id="passwords"&gt;
         &lt;entry key="alice"
             value="ecila" /&gt;
@@ -210,7 +210,7 @@ $CATALINA_HOME/bin/shutdown.sh
 
 <p>The claims of each user are configured in a spring configuration file <code>webapps/fediz-idp-sts/WEB-INF/userClaims.xml</code>. The following claims are already configured:</p>
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
     &lt;util:map id="userClaims"&gt;
         &lt;entry key="alice"
             value-ref="aliceClaims" /&gt;
@@ -241,7 +241,7 @@ $CATALINA_HOME/bin/shutdown.sh
 <p>The required claims per relying party are configured in the <code>webapps/fediz-idp/WEB-INF/RPClaims.xml</code>. The XML file has the following structure:</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
     &lt;util:map id="realm2ClaimsMap"&gt;
         &lt;entry key="https://localhost:8443/fedizhelloworld/"
             value-ref="claimsWsfedhelloworld" /&gt;
@@ -271,7 +271,7 @@ $CATALINA_HOME/bin/shutdown.sh
 <p>WSS4J supports username/password authentication using JAAS. The JDK provides a JAAS LoginModule for LDAP which can be configured as illustrated here in a sample jaas configuration (jaas.config):</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
 myldap {
  com.sun.security.auth.module.LdapLoginModule REQUIRED
  userProvider=ldap://ldap.mycompany.org:389/OU=Users,DC=mycompany,DC=org"
@@ -287,7 +287,7 @@ myldap {
 <p>In this example, all the users are stored in the organization unit Users within mycompany.org. The configuration filename can be chosen, e.g. <code>jaas.config</code>. The filename must be configured as a JVM argument. JVM related configurations for Tomcat can be done in the file <code>setenv.sh/bat</code> located in directory <code>tomcat/bin</code>. This script is called implicitly by <code>catalina.bat/sh</code> and might look like this for UNIX:</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
 #!/bin/sh
 JAVA_OPTS="-Djava.security.auth.login.config=/opt/tomcat/conf/jaas.config"
 export JAVA_OPTS
@@ -297,7 +297,7 @@ export JAVA_OPTS
 <p>Next, the STS endpoint has to be configured to use the JAAS LoginModule which is accomplished by the <code>JAASUsernameTokenValidator</code>.</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
 &lt;bean
   class="org.apache.ws.security.validate.JAASUsernameTokenValidator"
       id="jaasUTValidator"&gt;
@@ -331,7 +331,7 @@ export JAVA_OPTS
 <p>The following example illustrate the changes to be made in <code>webapps/fediz-idp-sts/WEB-INF/cxf-transport.xml</code>:</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
 &lt;util:list id="claimHandlerList"&gt;
   &lt;ref bean="ldapClaimsHandler" /&gt;
 &lt;/util:list&gt;

Modified: websites/production/cxf/content/fediz-jetty.html
==============================================================================
--- websites/production/cxf/content/fediz-jetty.html (original)
+++ websites/production/cxf/content/fediz-jetty.html Wed Sep 13 15:05:52 2017
@@ -122,7 +122,7 @@ Apache CXF -- Fediz Jetty
 
 <ol><li>Create sub-directory <code>fediz</code> in <code>${jetty.home}/lib/fediz</code></li><li>Update start.ini in ${jetty.home}/start.ini by adding <code>fediz</code> to the OPTIONS
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
 OPTIONS=Server,fediz
 </pre>
 </div></div></li><li>Deploy the libraries to the directory created in (1)</li></ol>
@@ -168,7 +168,7 @@ OPTIONS=Server,fediz
 <p>Hint: file name must be equal to war file name</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;"> 
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;"> 
   &lt;Get name="securityHandler"&gt;
     &lt;Set name="loginService"&gt;
       &lt;New class="org.apache.cxf.fediz.jetty.FederationLoginService"&gt;

Modified: websites/production/cxf/content/fediz-metadata.html
==============================================================================
--- websites/production/cxf/content/fediz-metadata.html (original)
+++ websites/production/cxf/content/fediz-metadata.html Wed Sep 13 15:05:52 2017
@@ -120,7 +120,7 @@ Apache CXF -- Fediz Metadata
 
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
 &lt;EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
    xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
    xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
@@ -141,7 +141,7 @@ Apache CXF -- Fediz Metadata
 
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
 &lt;EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
    xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
    xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
@@ -184,7 +184,7 @@ Apache CXF -- Fediz Metadata
 <p>This is an example metadata document:</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
 &lt;EntityDescriptor ID="_36BF9BFBF49BA48A2D13395075556522" entityID="https://localhost:8443/fedizhelloworld/" 
    xmlns:auth="http://docs.oasis-open.org/wsfed/federation/200706" 
    xmlns:fed="http://docs.oasis-open.org/wsfed/federation/200706" 

Modified: websites/production/cxf/content/fediz-oidc.html
==============================================================================
--- websites/production/cxf/content/fediz-oidc.html (original)
+++ websites/production/cxf/content/fediz-oidc.html Wed Sep 13 15:05:52 2017
@@ -100,11 +100,11 @@ Apache CXF -- Fediz OIDC
            <!-- Content -->
            <div class="wiki-content">
 <div id="ConfluenceContent"><p>&#160;</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1505243203064 {padding: 0px;}
-div.rbtoc1505243203064 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1505243203064 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1505315088213 {padding: 0px;}
+div.rbtoc1505315088213 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1505315088213 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1505243203064">
+/*]]>*/</style></p><div class="toc-macro rbtoc1505315088213">
 <ul class="toc-indentation"><li><a shape="rect" href="#FedizOIDC-Introduction">Introduction</a></li><li><a shape="rect" href="#FedizOIDC-UserAuthentication">User Authentication</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#FedizOIDC-TrustedProviders">Trusted Providers</a></li></ul>
 </li><li><a shape="rect" href="#FedizOIDC-ClientRegistration">Client Registration</a></li><li><a shape="rect" href="#FedizOIDC-OIDCServices">OIDC Services</a></li><li><a shape="rect" href="#FedizOIDC-IdToken">IdToken</a></li><li><a shape="rect" href="#FedizOIDC-DataPersistence">Data Persistence</a></li><li><a shape="rect" href="#FedizOIDC-Deployment">Deployment</a></li></ul>

Modified: websites/production/cxf/content/fediz-spring-2.html
==============================================================================
--- websites/production/cxf/content/fediz-spring-2.html (original)
+++ websites/production/cxf/content/fediz-spring-2.html Wed Sep 13 15:05:52 2017
@@ -139,7 +139,7 @@ Apache CXF -- Fediz Spring 2
 <p>The following configuration snippets illustrate the Fediz related configuration. The complete configuration file can be found in the example <em>spring2Webapp</em>.</p>
 
 <div class="code panel pdl" style="border-style: solid;border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;border-bottom-style: solid;"><b>applicationContext-security.xml</b></div><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
     &lt;sec:http entry-point-ref="federationEntryPoint"&gt;
         &lt;sec:intercept-url pattern="/secure/fedservlet" access="IS_AUTHENTICATED_FULLY"/&gt;
         &lt;sec:intercept-url pattern="/secure/manager/**" access="ROLE_MANAGER"/&gt;
@@ -179,7 +179,7 @@ Apache CXF -- Fediz Spring 2
 <p>The following code snippet of the FederationServlet example illustrates how to get access to the Spring Security Context of the current user and to the Federation releated information like claims and login token.</p>
 
 <div class="code panel pdl" style="border-style: solid;border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;border-bottom-style: solid;"><b>FederationServlet.java</b></div><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
     Authentication obj = SecurityContextHolder.getContext().getAuthentication();
     FederationAuthenticationToken fedAuthToken = (FederationAuthenticationToken)auth;
     for (GrantedAuthority item : fedAuthToken.getAuthorities()) {

Modified: websites/production/cxf/content/fediz-spring.html
==============================================================================
--- websites/production/cxf/content/fediz-spring.html (original)
+++ websites/production/cxf/content/fediz-spring.html Wed Sep 13 15:05:52 2017
@@ -143,7 +143,7 @@ Apache CXF -- Fediz Spring
 <p>The following configuration snippets illustrate the Fediz related configuration. The complete configuration file can be found in the example <em>springPreAuthWebapp</em>.</p>
 
 <div class="code panel pdl" style="border-style: solid;border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;border-bottom-style: solid;"><b>applicationContext-security.xml</b></div><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
 
     &lt;bean id="preAuthenticatedUserDetailsService"
             class="org.apache.cxf.fediz.spring.preauth.PreAuthenticatedGrantedAuthoritiesUserDetailsFederationService"/&gt;    
@@ -184,7 +184,7 @@ Apache CXF -- Fediz Spring
 <p>The following code snippet of the FederationServlet example illustrates how to get access to the Spring Security Context of the current user.</p>
 
 <div class="code panel pdl" style="border-style: solid;border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;border-bottom-style: solid;"><b>FederationServlet.java</b></div><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
     Authentication obj = SecurityContextHolder.getContext().getAuthentication();
 </pre>
 </div></div>
@@ -204,7 +204,7 @@ Apache CXF -- Fediz Spring
 <p>The following configuration snippets illustrate the Fediz related configuration. The complete configuration file can be found in the example <em>springWebapp</em>.</p>
 
 <div class="code panel pdl" style="border-style: solid;border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;border-bottom-style: solid;"><b>applicationContext-security.xml</b></div><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
     &lt;sec:http entry-point-ref="federationEntryPoint" use-expressions="true"&gt;
         &lt;sec:intercept-url pattern="/" access="permitAll"/&gt;
         &lt;sec:intercept-url pattern="/fediz" access="permitAll"/&gt;
@@ -250,7 +250,7 @@ Apache CXF -- Fediz Spring
 <p>The following code snippet of the FederationServlet example illustrates how to get access to the Spring Security Context of the current user and to the Federation releated information like claims and login token.</p>
 
 <div class="code panel pdl" style="border-style: solid;border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;border-bottom-style: solid;"><b>FederationServlet.java</b></div><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
     Authentication obj = SecurityContextHolder.getContext().getAuthentication();
     FederationAuthenticationToken fedAuthToken = (FederationAuthenticationToken)auth;
     for (GrantedAuthority item : fedAuthToken.getAuthorities()) {

Modified: websites/production/cxf/content/fediz-tomcat.html
==============================================================================
--- websites/production/cxf/content/fediz-tomcat.html (original)
+++ websites/production/cxf/content/fediz-tomcat.html Wed Sep 13 15:05:52 2017
@@ -109,20 +109,20 @@ Apache CXF -- Fediz Tomcat
            <!-- Content -->
            <div class="wiki-content">
 <div id="ConfluenceContent"><h1 id="FedizTomcat-TomcatPlugin">Tomcat Plugin</h1><p>This page describes how to enable Federation for a Tomcat instance hosting Relying Party (RP) applications. This configuration is not for a separate Tomcat instance hosting the Fediz IDP and IDP STS WARs, or hosts for third-party applications that use Fediz STS-generated SAML assertions for authentication. After this configuration is done, the Tomcat-RP instance will validate the incoming SignInResponse created by the IDP server.</p><p>Prior to doing this configuration, make sure you've first deployed the Fediz IDP and STS on the separate Tomcat IDP instance as discussed <a shape="rect" href="fediz-idp.html">here</a>, and can view the STS WSDL at the URL given on that page. That page also provides some tips for running multiple Tomcat instances on your machine.</p><h3 id="FedizTomcat-Installation">Installation</h3><p>You can either build the Fediz plugin on your own or download the package <a shape="r
 ect" href="fediz-downloads.html">here</a>. If you have built the plugin on your own you'll find the required libraries in <code>plugins/tomcat/target/...zip-with-dependencies.zip</code></p><ol><li>Create sub-directory <code>fediz</code> in <code>${catalina.home}/lib</code></li><li>Update calatina.properties in ${catalina.home}/conf<br clear="none"> add the previously created directory to the common loader:<br clear="none"> <code>common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar,${catalina.home}/lib/fediz/*.jar</code></li><li>Deploy the libraries to the directory created in (1)</li></ol><h3 id="FedizTomcat-Configuration">Configuration</h3><h5 id="FedizTomcat-HTTPSconfiguration">HTTPS configuration</h5><p>It's recommended to set up a dedicated (separate) Tomcat instance for the Relying Party. The Fediz RP web applications use the following TCP ports:</p><ul><li>HTTP port: 8080 (used for Maven deployment, mvn tomcat:redeploy)<
 /li><li>HTTPS port: 8443 (where IDP and STS are accessed)</li><li>Server port (for shutdown and other commands): 8005</li></ul><p>These are the default ports for a standard Tomcat installation.</p><p>The Relying Party must be accessed over HTTPS to protect the security tokens issued by the IDP.</p><p>The Tomcat HTTP(s) configuration is done in conf/server.xml.</p><p>This is a sample snippet for an HTTPS configuration:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">    &lt;Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">    &lt;Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"
                maxThreads="150" scheme="https" secure="true"
                keystoreFile="rp-ssl-key.jks" keyPass="tompass"
                keystorePass="tompass" sslProtocol="TLS" /&gt;
 </pre>
 </div></div><p>The keystoreFile is relative to $CATALINA_HOME. See <a shape="rect" class="external-link" href="http://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html">here</a> for the Tomcat 7 configuration reference. This page also describes how to create certificates. Sample Tomcat keystores (not for production use, but useful for demoing Fediz and running the sample applications) are provided in the examples/samplekeys folder of the Fediz distribution. Note the Tomcat keystore here is different from the one used to configure the Tomcat-IDP instance.</p><p>To establish trust, there are significant keystore/truststore requirements between the Tomcat instances and the various web applications (IDP, STS, Relying party applications, third party web services, etc.) See <a shape="rect" class="external-link" href="http://svn.apache.org/viewvc/cxf/fediz/trunk/examples/samplekeys/HowToGenerateKeysREADME.html?view=co">this page</a> for more details, it lists the trust requirements as well a
 s sample scripts for creating your own (self-signed) keys.</p><p><strong>Warning: All sample keystores provided with Fediz (including in the WAR files for its services and examples) are for development/prototyping use only. They'll need to be replaced for production use, at a minimum with your own self-signed keys but strongly recommended to use third-party signed keys.</strong></p><p>If you are currently just trying to run the Fediz samples, the configuration above is all you need (the below configuration is already provided within the samples) so you can return now to the samples' READMEs for the next steps in running them.</p><h5 id="FedizTomcat-FedizPluginconfigurationforYourWebApplication">Fediz Plugin configuration for Your Web Application</h5><p>The Fediz related configuration is done in a Servlet Container independent configuration file which is described <a shape="rect" href="fediz-configuration.html">here</a>.</p><p>The Fediz plugin requires configuring the FederationAuthe
 nticator like any other Valve in Tomcat. Detailed information about the Tomcat Valve concept is available <a shape="rect" class="external-link" href="http://tomcat.apache.org/tomcat-7.0-doc/config/valve.html">here</a>.</p><p>A Valve can be configured on different levels like <em>Host</em> or <em>Context</em>. The Fediz configuration file allows to configure all servlet contexts in one file or choosing one file per Servlet Context. If you choose to have one Fediz configuration file per Servlet Context then you must configure the FederationAuthenticator on the <em>Context</em> level otherwise on the <em>Host</em> level in the Tomcat configuration file <em>server.xml</em></p><p>You can either configure the context in the server.xml or in META-INF/context.xml as part of your WAR file.</p><h6 id="FedizTomcat-META-INF/context.xml">META-INF/context.xml</h6><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;"> 
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;"> 
   &lt;Context&gt; 
     &lt;Valve className="org.apache.cxf.fediz.tomcat.FederationAuthenticator"
       configFile="conf/fediz_config.xml" /&gt;
   &lt;/Context&gt; 
 </pre>
 </div></div><h6 id="FedizTomcat-Hostlevelinserver.xml">Host level in server.xml</h6><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;"> 
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;"> 
   &lt;Host name="localhost" appBase="webapps"
         unpackWARs="true" autoDeploy="true"&gt;
     &lt;Valve className="org.apache.cxf.fediz.tomcat.FederationAuthenticator"
@@ -130,7 +130,7 @@ Apache CXF -- Fediz Tomcat
   &lt;/Host&gt;
 </pre>
 </div></div><h6 id="FedizTomcat-Contextlevelinserver.xml">Context level in server.xml</h6><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;"> 
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;"> 
   &lt;Context path="/fedizhelloworld" docBase="fedizhelloworld"&gt;
     &lt;Valve className="org.apache.cxf.fediz.tomcat.FederationAuthenticator"
       configFile="conf/fediz_config.xml" /&gt;

Modified: websites/production/cxf/content/fediz-websphere.html
==============================================================================
--- websites/production/cxf/content/fediz-websphere.html (original)
+++ websites/production/cxf/content/fediz-websphere.html Wed Sep 13 15:05:52 2017
@@ -176,7 +176,7 @@ At deployment time, the declared J2EE se
 <p>The file defined in <code>groups.mapping.file</code> must have the following structure:</p>
 
 <div class="code panel pdl" style="border-style: solid;border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;border-bottom-style: solid;"><b>roleGroupMapping.xml</b></div><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
 &lt;?xml version="1.0" encoding="UTF-8"?&gt;
 &lt;mapping&gt;
   &lt;samlToJ2EE&gt;

Modified: websites/production/cxf/content/fediz.html
==============================================================================
--- websites/production/cxf/content/fediz.html (original)
+++ websites/production/cxf/content/fediz.html Wed Sep 13 15:05:52 2017
@@ -110,7 +110,7 @@ Apache CXF -- Fediz
            <!-- Content -->
            <div class="wiki-content">
 <div id="ConfluenceContent"><h1 id="Fediz-ApacheCXFFediz:AnOpen-SourceWebSecurityFramework">Apache CXF Fediz: An Open-Source Web Security Framework</h1><h2 id="Fediz-Overview">Overview</h2><p>Apache CXF Fediz is a subproject of CXF. Fediz helps you to secure your web applications and delegates security enforcement to the underlying application server. With Fediz, authentication is externalized from your web application to an identity provider installed as a dedicated server component. The supported standard is <a shape="rect" class="external-link" href="http://docs.oasis-open.org/wsfed/federation/v1.2/os/ws-federation-1.2-spec-os.html#_Toc223175002" rel="nofollow">WS-Federation Passive Requestor Profile</a>. Fediz supports <a shape="rect" class="external-link" href="http://en.wikipedia.org/wiki/Claims-based_identity" rel="nofollow">Claims Based Access Control</a> beyond Role Based Access Control (RBAC).</p><h2 id="Fediz-News">News</h2><p><strong><strong>August 18, 2017 - <strong><st
 rong>Apache CXF Fediz 1.4.</strong></strong>1 released</strong></strong></p><p>Apache CXF Fediz 1.4.1 has been released.</p><p>For more information and to download the new release, please go <a shape="rect" href="fediz-downloads.html">here</a>.</p><p><strong><strong>May 16, 2017 - Two new security advisories for Apache CXF Fediz are released</strong></strong></p><p>Two new security advisories have been released for issues that are fixed in the latest releases (1.4.0, 1.3.2 and 1.2.4):</p><ul><li><a shape="rect" href="http://cxf.apache.org/security-advisories.data/CVE-2017-7661.txt.asc?version=1&amp;modificationDate=1494949364764&amp;api=v2">CVE-2017-7661</a>: The Apache CXF Fediz Jetty and Spring plugins are vulnerable to CSRF attacks.</li><li><a shape="rect" href="http://cxf.apache.org/security-advisories.data/CVE-2017-7662.txt.asc?version=1&amp;modificationDate=1494949377300&amp;api=v2">CVE-2017-7662</a>: The Apache CXF Fediz OIDC Client Registration Service is vulnerable to CSRF 
 attacks.</li></ul><p>Please upgrade to the latest releases as soon as possible.</p><p><strong><strong>April 28, 2017 - Apache CXF Fediz 1.4.0, 1.3.2 and 1.2.4 released<br clear="none"></strong></strong></p><p>Apache CXF Fediz 1.4.0, 1.3.2 and 1.2.4 have been released.</p><p>For more information and to download the new releases, please go <a shape="rect" href="fediz-downloads.html">here</a>.</p><h2 id="Fediz-Features">Features</h2><p>The following features are supported by Fediz 1.2</p><ul><li>WS-Federation 1.0/1.1/1.2</li><li>SAML 1.1/2.0 Tokens</li><li>Support for encrypted SAML Tokens (Release 1.1)</li><li>Support for Holder-Of-Key SubjectConfirmationMethod (1.1)</li><li>Custom token Support</li><li>Publish WS-Federation Metadata document</li><li>Role information encoded as AttributeStatement in SAML 1.1/2.0 tokens</li><li>Claims information provided by FederationPrincipal Interface</li><li>Support for Tomcat, Jetty, Websphere, Spring Security and CXF (1.1)</li><li>Fediz IDP suppo
 rts "Resource IDP" role as well (1.1)</li><li>A new REST API for the IdP (1.2)</li><li>Support for logout in both the RP and IdP (1.2)</li><li>Support for logging on to the IdP via Kerberos and TLS client authentication (1.2)</li><li>A new container-independent CXF plugin for WS-Federation (1.2)</li><li>Support to use the IdP as an identity broker with a remote SAML SSO IdP (1.2)</li></ul><p>The following features are planned for the next release:</p><ul><li>support for other protocols like OAuth</li></ul><p>You can get the current status of the enhancements <a shape="rect" class="external-link" href="https://issues.apache.org/jira/browse/FEDIZ">here </a>.</p><h2 id="Fediz-Architecture">Architecture</h2><p>The Fediz architecture is described in more detail <a shape="rect" href="fediz-architecture.html">here</a>.</p><h2 id="Fediz-Download">Download</h2><p>See <a shape="rect" href="fediz-downloads.html">here</a>.</p><h2 id="Fediz-Gettingstarted">Getting started</h2><p>The WS-Federatio
 n specification defines the following parties involved during a web login:</p><ul><li>Browser</li><li>Identity Provider (IDP)<br clear="none"> The IDP is a centralized, application independent runtime component which implements the protocol defined by WS-Federation. You can use any open source or commercial product that supports WS-Federation 1.1/1.2 as your IDP. It's recommended to use the Fediz IDP for testing as it allows for testing your web application in a sandbox without having all infrastructure components available. The Fediz IDP consists of two WAR components. The Security Token Service (STS) does most of the work including user authentication, claims/role data retrieval and creating the SAML token. The IDP WAR translates the response to an HTML response allowing a browser to process it.</li><li>Relying Party (RP)<br clear="none"> The RP is a web application that needs to be protected. The RP must be able to implement the protocol as defined by WS-Federation. This componen
 t is called "Fediz Plugin" in this project which consists of container agnostic module/jar and a container specific jar. When an authenticated request is detected by the plugin it redirects to the IDP for authentication. The browser sends the response from the IDP to the RP after successful authentication. The RP validates the response and creates the container security context.</li></ul><p>It's recommended to deploy the IDP and the web application (RP) into different container instances as in a production deployment. The container with the IDP can be used during development and testing for multiple web applications needing security.</p><h3 id="Fediz-SettinguptheIDP">Setting up the IDP</h3><p>The installation and configuration of the IDP is documented <a shape="rect" href="fediz-idp-11.html">here</a></p><h3 id="Fediz-SetuptheRelyingPartyContainer">Set up the Relying Party Container</h3><p>The Fediz plugin needs to be deployed into the Relying Party (RP) container. The security mecha
 nism is not specified by JEE. Even though it is very similar in each servlet container there are some differences which require a dedicated Fediz plugin for each servlet container implementation. Most of the configuration goes into a Servlet container independent configuration file which is described <a shape="rect" href="fediz-configuration.html">here</a></p><p>The following lists shows the supported containers and the location of the installation and configuration page.</p><ul><li><a shape="rect" href="fediz-tomcat.html">Tomcat 7 </a></li><li><a shape="rect" href="fediz-jetty.html">Jetty 7/8 (1.1)</a></li><li><a shape="rect" href="fediz-spring.html">Spring Security 3.1 (1.1)</a></li><li><a shape="rect" href="fediz-websphere.html">Websphere 7/8 (1.1)</a></li><li><a shape="rect" href="fediz-cxf.html">CXF (1.1) </a></li></ul><h2 id="Fediz-Samples">Samples</h2><p>The examples directory contains two sample relying party applications. They are independent of each other, so it is not nec
 essary to deploy both at once.</p><p>Each sample is described in a <code>README.txt</code> file located in the base directory of each sample.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Sample</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>simpleWebapp</strong></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>a simple web application which is protected by the Fediz IDP. The FederationServlet illustrates how to get security information using the standard APIs.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>wsclientWebapp</strong></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>a protected web application that calls a web service that uses the Fediz STS to validate credentials. Here, the same STS is used for token issuance (indirectly, by the web applicatio
 n through use of the Fediz IDP) and validation. The FederationServlet illustrates how to securely call a web service.</p></td></tr></tbody></table></div><p><span class="confluence-anchor-link" id="Fediz-building"></span></p><h2 id="Fediz-Checkout">Checkout</h2><p>The CXF sources are hosted at&#160;<a shape="rect" class="external-link" href="https://gitbox.apache.org/">Apache gitbox</a>. This includes a full two way sync with github. As github provides the nicer user interface we now recommend to directly work on the github cxf repo.</p><h2 id="Fediz-Webbrowsing">Web browsing</h2><p><a shape="rect" class="external-link" href="https://github.com/apache/cxf-fediz" rel="nofollow">https://github.com/apache/cxf-fediz</a></p><h2 id="Fediz-CheckingoutfromGIT">Checking out from GIT</h2><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">git clone git@github.com:apache/cxf-fediz.git</pre>
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">git clone git@github.com:apache/cxf-fediz.git</pre>
 </div></div><h2 id="Fediz-Committing">Committing</h2><p>CXF committers can directly commit to github after doing the&#160;<a shape="rect" class="external-link" href="https://gitbox.apache.org/setup/">Apache&#160;gitbox setup</a>. Be aware that the sync might take half an hour before you are added to the cxf github group.</p><h2 id="Fediz-Forkingandpullrequests">Forking and pull requests</h2><p>See&#160;<a shape="rect" href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=69407398">Getting Involved</a></p><h2 id="Fediz-Building">Building</h2><p>Then follow the <a shape="rect" class="external-link" href="http://svn.apache.org/viewvc/cxf/fediz/trunk/BUILDING.txt?view=markup">BUILDING.txt</a> file in the Fediz download for full build instructions.</p><h2 id="Fediz-SettingupEclipse">Setting up Eclipse</h2><p>See <a shape="rect" href="http://cxf.apache.org/setting-up-eclipse.html">this page</a> for information on using the Eclipse IDE with the Fediz source code. This page
  is created for CXF but the same commands are applicable for Fediz too.</p><p>&#160;</p></div>
            </div>
            <!-- Content -->

Modified: websites/production/cxf/content/migration-guide-11.html
==============================================================================
--- websites/production/cxf/content/migration-guide-11.html (original)
+++ websites/production/cxf/content/migration-guide-11.html Wed Sep 13 15:05:52 2017
@@ -136,7 +136,7 @@ Apache CXF -- Migration Guide 1.1
 
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
     &lt;issuer certificateValidation="PeerTrust" /&gt;
 </pre>
 </div></div></div>

Modified: websites/production/cxf/content/release-management.html
==============================================================================
--- websites/production/cxf/content/release-management.html (original)
+++ websites/production/cxf/content/release-management.html Wed Sep 13 15:05:52 2017
@@ -110,7 +110,7 @@ Apache CXF -- Release Management
            <!-- Content -->
            <div class="wiki-content">
 <div id="ConfluenceContent"><h2 id="ReleaseManagement-Deployingsnapshots">Deploying snapshots</h2><p>Snapshots are automatically deployed every night to the Nexus snapshot repository at <a shape="rect" class="external-link" href="https://repository.apache.org/content/groups/snapshots-group/">https://repository.apache.org/content/groups/snapshots-group/</a> . There is no need to manually deploy snapshots anymore.</p><h2 id="ReleaseManagement-Maintainingafixesbranch">Maintaining a fixes branch</h2><p>dkulp: I'm adding this section to document what worked for ME when maintaining the 2.7.x-fixes branch for the 2.7.x releases. Each Release Manager may have their own style or tools or whatever. This is not a "set in stone" type thing.</p><p>Basically, almost all development and fixes and such are usually done by the various developers right on master. Thus, the main job of the fixes branch maintainer is to triage the commits on master and merge pure fixes to the fixes branches, resolve co
 nflicts, run the tests, and periodically deploy snapshots. For the most part, when things go well, it doesn't take too much time or effort. An hour or two every couple days is about it.</p><p>To set up, you'll want to:</p><ol><li>use git branch to make a branch.</li><li>On the branch, create a .gitmergeinfo file with a single line of "origin/master" to say the branch will be merging from there.</li></ol><p><span style="background-color: transparent;line-height: 1.4285715;">In trunk/bin, there is a DoMerges.java program that assists in the merging. If the branch is setup with .gitmergeinfo, if you run it from the root directory of the checkout, it will prompt for every commit on master to see if you want to "Merge" it, "Block" it, or "Ignore" it. It displays the commit log first so you can see what was involved. You can also check the </span> <a shape="rect" class="external-link" href="http://www.nabble.com/cxf-commits-f23851.html" rel="nofollow" style="background-color: transparent;
 line-height: 1.4285715;">cxf-commits</a> <span style="background-color: transparent;line-height: 1.4285715;"> archive to see the full details of the commit to help decide what action to take. If you select "Merge", it will merge the change and then prompt before committing. That will allow you to look at the merge and resolve any conflicts. (or even revert it if you didn't mean to hit Merge)</span></p><h2 id="ReleaseManagement-Performingarelease">Performing a release</h2><p>The first step is to update the release_notes.txt in the distribution/src/main/release. This file's JIRA list of solved Bugs, Improvements, etc. can be obtained from the <a shape="rect" class="external-link" href="https://issues.apache.org/jira/browse/CXF#selectedTab=com.atlassian.jira.plugin.system.project%3Aroadmap-panel">"Road Map" JIRA tab</a>, selecting the desired version's Release Notes, and then the Configure Release Notes button (choose Text output).</p><div class="confluence-information-macro confluence
 -information-macro-note"><span class="aui-icon aui-icon-small aui-iconfont-warning confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>Don't manually update the POM versions from X.Y.Z-SNAPSHOT to X.Y.Z, the Maven Release Plugin commands below will automatically take care of that. Also, prior to performing the release you'll need to have your Apache LDAP information configured in your Maven settings.xml file:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">...
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">...
 &lt;server&gt;                                                                
    &lt;id&gt;apache.releases.https&lt;/id&gt;
    &lt;username&gt;apacheID&lt;/username&gt;
@@ -123,7 +123,7 @@ Apache CXF -- Release Management
 mvn release:perform -Peverything,jaxws22
 </pre>
 </div></div><div class="confluence-information-macro confluence-information-macro-warning"><span class="aui-icon aui-icon-small aui-iconfont-error confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>If you are performing the release on a Mac, it is advisable to add -DpushChanges=false to the "release:prepare" step above. The version of git that Apple ships with some versions of OSX has problems pushing the changes in quick succession from the release plugin and can become corrupt. Having the release plugin NOT push the changes and then running "git push -tags origin master" works around that problem.</p></div></div><div class="confluence-information-macro confluence-information-macro-warning"><span class="aui-icon aui-icon-small aui-iconfont-error confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>It is recommended to name the local maintenance branches the same as the remote ones ("2.7.x-fixes", "3.0.x
 -fixes", ...) to avoid issue with the branch names when running the release plugin.</p></div></div><p>&#160;</p><p>The above commands tag the release, update the poms versions, etc., then build it (off the tag), gpg sign and deploy everything (including source jars and javadoc jars) to the <a shape="rect" class="external-link" href="https://repository.apache.org">Nexus repository location</a>. When the build is done staging, you next need to login to the Nexus repository and "close" the staging area (click on Staging Repositories in the left-side menu, select the repo you just uploaded and then select the close button.) Closing is very important. After the staging area is closed, note the URL for the staging area as you will need that for the vote.</p><p>At this point, everything "pre-vote" is done. Call the vote.</p><h2 id="ReleaseManagement-Releasingtheartifacts">Releasing the artifacts</h2><ul><li>Maven artifacts - After the vote passes, you'll need to promote that staging reposi
 tory to the main location. Login to <a shape="rect" class="external-link" href="https://repository.apache.org">Nexus repository location</a> to do that as well, find the staging repository and click the Release button.</li></ul><ul><li><p>Distributions - You will need to commit the distributions into the special svn distribution area: <a shape="rect" class="external-link" href="https://dist.apache.org/repos/dist/release/cxf">https://dist.apache.org/repos/dist/release/cxf</a> <br clear="none"> after you commit they will be live on dist.apache.org fairly quickly, but it will still take time for the mirrors to get copies. It's likely easier to make the directory via an svn command, check out just that directory, and then add the files. The dist area is rather large (400MB or so) so checking out the entire thing may be slow.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">svn mkdir https://dist.apache.org/repos/dist/release/cxf/2.6.3
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">svn mkdir https://dist.apache.org/repos/dist/release/cxf/2.6.3
 svn checkout https://dist.apache.org/repos/dist/release/cxf/2.6.3
 ....  add files to 2.6.3 .....
 svn commit

Modified: websites/production/cxf/content/scalable-cxf-applications-using-jms-transport.html
==============================================================================
--- websites/production/cxf/content/scalable-cxf-applications-using-jms-transport.html (original)
+++ websites/production/cxf/content/scalable-cxf-applications-using-jms-transport.html Wed Sep 13 15:05:52 2017
@@ -121,7 +121,7 @@ b) define jms address in port element.</
 <p>WSDL binding and port should look like:</p>
 
 <div class="code panel pdl" style="border-style: solid;border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
 &lt;wsdl:definitions
     xmlns:jms="http://cxf.apache.org/transports/jms" 
 ...
@@ -165,7 +165,7 @@ org.springframework.jms.listener.Default
 <p>CachingConnectionFactory provides session pooling, consumers and producers cache. Bellow is a sample configuration of CachingConnectionFactory:</p>
 
 <div class="code panel pdl" style="border-style: solid;border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
 &lt;bean id="cachingConnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory"&gt;
 	&lt;property name="targetConnectionFactory"&gt;
 		&lt;bean class="org.apache.activemq.ActiveMQConnectionFactory"&gt;
@@ -185,7 +185,7 @@ org.springframework.jms.listener.Default
 <p>DefaultMessageListenerContainer enables getting messages from the destination in parallel, using multiple threads.<br clear="none">
 Configuration of DefaultMessageListenerContainer looks like:</p>
 <div class="code panel pdl" style="border-style: solid;border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
 &lt;bean id="queueContainerListener"
 	class="org.springframework.jms.listener.DefaultMessageListenerContainer"&gt;
 		&lt;property name="connectionFactory" ref="connectionFactory" /&gt;
@@ -215,7 +215,7 @@ CXF allows to configure details of the J
 <h3 id="ScalableCXFapplicationsusingJMStransport-Serverconfiguration">Server configuration</h3>
 
 <div class="code panel pdl" style="border-style: solid;border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
 &lt;bean id="cachingConnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory"&gt;
 	&lt;property name="targetConnectionFactory"&gt;
 		&lt;bean class="org.apache.activemq.ActiveMQConnectionFactory"&gt;
@@ -253,7 +253,7 @@ Using this configuration the server appl
 <h3 id="ScalableCXFapplicationsusingJMStransport-Clientconfiguration">Client configuration</h3>
 
 <div class="code panel pdl" style="border-style: solid;border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
 &lt;bean id="cachingConnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory"&gt;
 	&lt;property name="targetConnectionFactory"&gt;
 		&lt;bean class="org.apache.activemq.ActiveMQConnectionFactory"&gt;