Author: buildbot
Date: Fri Jul 27 16:57:27 2018
New Revision: 1033164
Log:
Production update by buildbot for cxf
Modified:
websites/production/cxf/content/cache/main.pageCache
websites/production/cxf/content/fediz-extensions.html
Modified: websites/production/cxf/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.
Modified: websites/production/cxf/content/fediz-extensions.html
==============================================================================
--- websites/production/cxf/content/fediz-extensions.html (original)
+++ websites/production/cxf/content/fediz-extensions.html Fri Jul 27 16:57:27
2018
@@ -109,8 +109,8 @@ Apache CXF -- Fediz Extensions
<td height="100%">
<!-- 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: java; gutter: false; theme: Default"
style="font-size:12px;">...
+<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 to the IDP contains several 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><strong>Configuration values common to both
WS-Federation and SAML SSO</strong></p><p>The following table gives an overview
of the parameters which can be resolved at runtime for either the WS-Federation
or SAML SSO protocols. </p><div class="table-wrap"><table
class="confluenceTable"><colgroup span="1"><col span="1"><col
span="1"></colgroup><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p>XML element</p></th
><th colspan="1" rowspan="1" class="confluenceTh"><p>Callback
>class</p></th></tr><tr><td colspan="1" rowspan="1"
>class="confluenceTd"><p>issuer</p></td><td colspan="1" rowspan="1"
>class="confluenceTd"><p>IDPCallback</p></td></tr><tr><td colspan="1"
>rowspan="1" class="confluenceTd">logoutRedirectToConstraint</td><td
>colspan="1" rowspan="1"
>class="confluenceTd">ReplyConstraintCallback</td></tr></tbody></table></div><p><strong><br
> clear="none"></strong></p><p><strong>WS-Federation</strong></p><p>The
>following table gives an overview of the parameters which can be resolved at
>runtime for the WS-Federation protocol. 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"><colgroup span="1"><col span="1"><col span="1"><col
>span="1"></colgroup><tbody><tr><th colspan="1" rowspan="1"
>class="confluenceTh"><p>XML element</p></th><th colsp
an="1" rowspan="1" class="confluenceTh"><p>Query parameter</p></th><th
colspan="1" rowspan="1" class="confluenceTh"><p>Callback
class</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></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></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></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="conf
luenceTd"><p>RealmCallback</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>signInQuery</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>any</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>SignInQueryCallback</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd">signOutQuery</td><td colspan="1" rowspan="1"
class="confluenceTd">any</td><td colspan="1" rowspan="1"
class="confluenceTd">SignOutQueryCallback</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></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd">reply</td><td colspan="1" rowspan="1"
class="confluenceTd">wreply</td><td colspan="1" rowspan="1"
class="confluenceTd">ReplyCallback</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: java; gutter: false; theme: Default">...
<protocol xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="federationProtocolType" version="1.2">
...
<homeRealm type="Class" value="MyCallbackHandler " />
@@ -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: java; gutter: false; theme: Default"
style="font-size:12px;">public class MyCallbackHandler implements
CallbackHandler {
+<pre class="brush: java; gutter: false; theme: Default">public class
MyCallbackHandler implements CallbackHandler {
public void handle(Callback[] callbacks) throws IOException,
UnsupportedCallbackException {
for (int i = 0; i < callbacks.length; i++) {
@@ -135,7 +135,18 @@ Apache CXF -- Fediz Extensions
}
}
</pre>
-</div></div><h3 id="FedizExtensions-CustomTokenValidator">Custom Token
Validator</h3><p>todo</p></div>
+</div></div><h3 id="FedizExtensions-CustomTokenValidator">Custom Token
Validator</h3><p>It is possible to plug in a custom Token Validator for either
protocol as well using the "tokenValidators" configuration parameter. This
takes a list of Strings, each of which correspond to the class name of a <a
shape="rect" class="external-link"
href="https://github.com/apache/cxf-fediz/blob/master/plugins/core/src/main/java/org/apache/cxf/fediz/core/TokenValidator.java"
rel="nofollow">TokenValidator</a> instance. For example:</p><div class="code
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<pre class="brush: java; gutter: false; theme: Default">...
+ <protocol xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="federationProtocolType" version="1.2">
+ ...
+ <tokenValidators>
+
<validator>org.apache.cxf.fediz.core.federation.CustomValidator</validator>
+ </tokenValidators>
+ ...
+ </protocol>
+...
+</pre>
+</div></div></div>
</div>
<!-- Content -->
</td>