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 [email protected]:apache/cxf-fediz.git</pre>
+<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">git clone [email protected]: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;


Reply via email to