Author: prabath
Date: Fri Apr 4 10:33:48 2008
New Revision: 15581
Log:
documentation update
Added:
trunk/solutions/identity/modules/documentation/src/site/xdoc/oprp_developer_guide.xml
Modified:
trunk/solutions/identity/modules/documentation/src/site/resources/images/idp_userguide01.jpg
trunk/solutions/identity/modules/documentation/src/site/resources/images/idp_userguide04.jpg
trunk/solutions/identity/modules/documentation/src/site/resources/images/op_userguide02.jpg
trunk/solutions/identity/modules/documentation/src/site/resources/images/op_userguide03.jpg
trunk/solutions/identity/modules/documentation/src/site/site.xml
trunk/solutions/identity/modules/documentation/src/site/xdoc/index.xml
trunk/solutions/identity/modules/documentation/src/site/xdoc/release-notes.xml
trunk/solutions/identity/modules/documentation/src/site/xdoc/rp_developer_guide.xml
Modified:
trunk/solutions/identity/modules/documentation/src/site/resources/images/idp_userguide01.jpg
==============================================================================
Binary files. No diff available.
Modified:
trunk/solutions/identity/modules/documentation/src/site/resources/images/idp_userguide04.jpg
==============================================================================
Binary files. No diff available.
Modified:
trunk/solutions/identity/modules/documentation/src/site/resources/images/op_userguide02.jpg
==============================================================================
Binary files. No diff available.
Modified:
trunk/solutions/identity/modules/documentation/src/site/resources/images/op_userguide03.jpg
==============================================================================
Binary files. No diff available.
Modified: trunk/solutions/identity/modules/documentation/src/site/site.xml
==============================================================================
--- trunk/solutions/identity/modules/documentation/src/site/site.xml
(original)
+++ trunk/solutions/identity/modules/documentation/src/site/site.xml Fri Apr
4 10:33:48 2008
@@ -31,7 +31,8 @@
<item name="OpenID Provider Adminstrator Guide"
href="op_administratorguide.html"/>
<item name="Identity Solution in Production Environment"
href="idp_production.html"/>
<item name="mod_cspace Configuration Guide"
href="mod_cspace_config.html"/>
- <item name="Relying Party Developer Guide"
href="rp_developer_guide.html"/>
+ <item name="Relying Party Developer Guide - I"
href="rp_developer_guide.html"/>
+ <item name="Relying Party Developer Guide - II"
href="oprp_developer_guide.html"/>
<item name="Idp User Guide" href="idp_userguide.html"/>
<item name="OpenID User Guide" href="op_userguide.html"/>
</menu>
Modified: trunk/solutions/identity/modules/documentation/src/site/xdoc/index.xml
==============================================================================
--- trunk/solutions/identity/modules/documentation/src/site/xdoc/index.xml
(original)
+++ trunk/solutions/identity/modules/documentation/src/site/xdoc/index.xml
Fri Apr 4 10:33:48 2008
@@ -19,14 +19,14 @@
<body>
<h1>Welcome to WSO2 Identity Solution, [EMAIL PROTECTED]@</h1>
-<h2>October 03rd, 2007 - WSO2 Identity Solution , [EMAIL PROTECTED]@
Released!</h2>
+<h2>April 07th, 2008 - WSO2 Identity Solution , [EMAIL PROTECTED]@
Released!</h2>
<p>[<a
href="http://dist.wso2.org/products/solutions/identity/@wso2is_version@">Download</a>]
| [<a href="index_docs.html">Documentation Home</a>] | [<a
href="release-notes.html">Release Note</a>]</p>
-<p>WSO2 Identity Solution provides following components to enable CardSpace
authentication for web applications.
+<p>WSO2 Identity Solution provides following components to enable CardSpace
and OpenID authentication for web applications.
</p>
<ul>
@@ -42,6 +42,8 @@
a security token service. Security token service can be deployed to issue
tokens
to trusted users. An identity selector will obtain tokens from the Identity
Provider and authenticate the users to a Web applications with those tokens.
+
+Indentity Provider also being added the OpenID support, where it can act as an
OpenID Provider.
</ul>
<h2>Key Features in this Release</h2>
@@ -49,12 +51,14 @@
<li>Identity provider
<ul>
<li>Supports connecting to a JDBC or an LDAP user store</li>
- <li>Issues information cards based on username-token credential and
+ <li>Issues information cards based on username-token credential
and
self issued credential</li>
<li>Allows adding custom claims and mapping them to user
attributes in
the user store</li>
<li>Revocation of issued information cards</li>
<li>Manage trusted relying parties</li>
+ <li>OpenID Provider support</li>
+ <li>OpenID information card support</li>
</ul>
</li>
<li>Apache HTTPD relying party module - mod_cspace</li>
@@ -76,6 +80,7 @@
<li>Apache Derby (Database)</li>
<li>Hibernate (Persistence)</li>
<li>Embedded Apache Tomcat</li>
+ <li>OpenID4Java</li>
</ul>
<h2>WSO2 Identity Solution , Documentation</h2>
Added:
trunk/solutions/identity/modules/documentation/src/site/xdoc/oprp_developer_guide.xml
==============================================================================
--- (empty file)
+++
trunk/solutions/identity/modules/documentation/src/site/xdoc/oprp_developer_guide.xml
Fri Apr 4 10:33:48 2008
@@ -0,0 +1,362 @@
+<!--
+ ~ Copyright 2005-2007 WSO2, Inc. (http://wso2.com)
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+</head>
+<body>
+<h1>WSO2 Identity Solution, [EMAIL PROTECTED]@ : Java Servlet Filter Developer
Guide : Part II</h1>
+
+<h2>Introduction</h2>
+This servlet filter
org.wso2.solutions.identity.relyingparty.servletfilter.RelyingPartyFilter
+can be used with a servlet based web application to provide information card
and OpenID
+login to that application.The Part II of this guide explains how you can add
OpenID and OpenID Information Card support to
+a relying party web application. The developer should follow the steps
described below
+in intgrating this servlet filter:
+
+<h2>Adding OpenID Information Card Support</h2>
+
+<p></p>
+<h3>Step 1 : Add the servlet filter to your application</h3>
+
+<p>Include the following entry in the web.xml file of the application:</p>
+
+<pre><![CDATA[
+
+ <filter>
+ <filter-name>TokenValidator</filter-name>
+
<filter-class>org.wso2.solutions.identity.relyingparty.servletfilter.RelyingPartyFilter</filter-class>
+ <init-param>
+ <param-name> ................ </param-name>
+ <param-value> ............... </param-value>
+ </init-param>
+ <init-param>
+ ......................
+ </init-param>
+ ......................
+ ......................
+ </filter>
+
+ <filter-mapping>
+ <filter-name>TokenValidator</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+]]></pre>
+<br/>
+<br/>
+Add the following as init-params to the web.xml
+<br/>
+<br/>
+<table>
+ <tr>
+ <th>ParameterName</th>
+ <th>Required</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>Keystore</td>
+ <td>Yes</td>
+ <td>Relative path to the keystore holding private key</td>
+ </tr>
+ <tr>
+ <td>StorePass</td>
+ <td>Yes</td>
+ <td>Password to the keystore holding private key</td>
+ </tr>
+ <tr>
+ <td>KeyAlias</td>
+ <td>Yes</td>
+ <td>Private key alias</td>
+ </tr>
+ <tr>
+ <td>KeyPass</td>
+ <td>Yes</td>
+ <td>Private key pass</td>
+ </tr>
+ <tr>
+ <td>StoreType</td>
+ <td>Yes</td>
+ <td>Store type of the keystore holding private key - e.g.
JDK</td>
+ </tr>
+ <tr>
+ <td>TrustedIdP.KeyStore</td>
+ <td></td>
+ <td>Relative path to the trusted keystore</td>
+ </tr>
+ <tr>
+ <td>TrustedIdP.StorePass</td>
+ <td>If TokenValidationPolicy is NOT Promiscuous</td>
+ <td>Trust store password</td>
+ </tr>
+ <tr>
+ <td>TrustedIdP.StoreType</td>
+ <td>If TokenValidationPolicy is NOT Promiscuous</td>
+ <td>Trust store type</td>
+ </tr>
+ <tr>
+ <td>MultiValueClaimsPolicy</td>
+ <td>No - default applied</td>
+ <td>Must be either MultiValueClaimsAllowed or
MultiValueClaimsNotAllowed. Default is MultiValueClaimsNotAllowed</td>
+ </tr>
+ <tr>
+ <td>IssuerPolicy</td>
+ <td>No - default applied</td>
+ <td>Must be one of SelfAndManaged, Self, Managed. Default is
self and managed</td>
+ </tr>
+ <tr>
+ <td>TokenValidationPolicy</td>
+ <td>No - default applied</td>
+ <td>Must be one of Promiscuous, WhiteList, BlackList,
CertValidate. Default is CertValidate. Please read more about this below.</td>
+ </tr>
+ <tr>
+ <td>WhiteList</td>
+ <td>Yes, if TokenValidationPolicy is WhiteList</td>
+ <td>This is required to indicate the list of allowed DNs. If
not specified in WhiteList mode none of the users can login</td>
+ </tr>
+ <tr>
+ <td>BlackList</td>
+ <td>Yes, if TokenValidationPolicy is BlackList</td>
+ <td>This is required to indicate the list of rejected DNs. If
not specified in BlackList mode all users who pass CertValidity can login</td>
+ </tr>
+</table>
+
+<br/>
+<br/>
+<strong>TokenValidationPolicy</strong>
+<p>There are 4 modes of token validations.</p>
+<ul>
+ <li>Promiscuous - In this mode, all tokens that has a valid signature
are allowed</li>
+ <li>CertValidate - In this mode, all tokens that has a valid signarue
by an IDP who has a trusted certificate are allowed</li>
+ <li>WhiteList - First CertValidity checked and after that if the issuer
DN is in the white list, the token is allowed</li>
+ <li>BlackList - First CertValidity checked and after that if the issuer
DN is not listed in the BlackList, the token is allowed</li>
+</ul>
+<br/>
+<h3>Step 2 : Add the OpenID Information Card login page</h3>
+<br/>
+The user loging page must contain a form with an <strong>object</strong> tag
as shown below:
+
+<pre><![CDATA[
+
+ <form name="frm" id="frm" method="post"
action="openidinfocardloggedin.jsp">
+ <input type="hidden" name="InfoCardSignin" value="Log in"
/><br/>
+
+ <OBJECT type="application/x-informationCard" name="xmlToken">
+ <PARAM Name="tokenType"
Value="http://specs.openid.net/auth/2.0">
+ <PARAM Name="requiredClaims"
Value="http://schema.openid.net/2007/05/claims/identifier">
+ <PARAM name="optionalClaims"
Value="http://axschema.org/contact/email http://axschema.org/namePerson/first
http://axschema.org/namePerson/last http://axschema.org/contact/phone/default
http://axschema.org/contact/postalAddress/home
http://axschema.org/contact/city/home
http://axschema.org/contact/postalCode/home
http://axschema.org/contact/country/home http://axschema.org/contact/web/blog">
+ </OBJECT>
+
+ </form>
+
+]]></pre>
+
+<p>The <strong>object</strong> tag here is the standard information card
object as
+defined <a
href="http://www.identityblog.com/wp-content/resources/profile/InfoCard-Profile-v1-Web-Integration.pdf">
+here</a>.</p>
+
+<p><i>It is important that you include the hidden field called
"InfoCardSignin" with
+the value "Log in". The filter will process the HTTP POST request to extract
+the token sent when this request parameter is available.</i></p>
+
+<br/>
+<br/>
+<h3>Step 3 : Add the following jars to your classpath</h3>
+<ul>
+<li>axiom-api-1.2.4.jar</li>
+<li>axiom-dom-1.2.4.jar</li>
+<li>axiom-impl-1.2.4.jar</li>
+<li>wstx-asl-3.2.1.jar</li>
+<li>bcprov-jdk15-132.jar</li>
+<li>core-3.1.1.jar</li>
+<li>dom4j-1.6.1.jar</li>
+<li>opensaml-1.1.406.jar</li>
+<li>stax-api-1.0.1.jar</li>
+<li>wss4j-SNAPSHOT.jar</li>
+<li>xmlsec-534045-patched.jar</li>
+<li>wso2is-token-verifier-core-1.0.jar</li>
+<li>wso2is-base-1.0.jar</li>
+<li>openid4java-nodeps-0.9.3.1.jar</li>
+</ul>
+<br/>
+<h3>Step 4 : Obtain the information in the verified token and process</h3>
+
+<p>The results of token processing will be available as attributes in the
+ServletRequest object.</p>
+
+<p>To indicate whether token verification was successful or not there will be
an
+attribute by the name "<strong>org.wso2.solutions.identity.rp.State</strong>".
+On successful verification value of this attribute will be
+"<strong>success</strong>". Otherwise it will be
"<strong>failure</strong>".</p>
+
+<p>The ServletRequest will also contain a set of attrbites by the names of
+the claims (the part of claim URI after the final "/")</p> with their values.
+
+<p>These values can be used by the developer to initiate a user session in a
web
+application.</p>
+
+<h2>Adding OpenID Support</h2>
+
+<p></p>
+<h3>Step 1 : Add the servlet filter to your application</h3>
+
+<p>Include the following entry in the web.xml file of the application:</p>
+
+<pre><![CDATA[
+
+ <filter>
+ <filter-name>TokenValidator</filter-name>
+
<filter-class>org.wso2.solutions.identity.relyingparty.servletfilter.RelyingPartyFilter</filter-class>
+ <init-param>
+ <param-name> ................ </param-name>
+ <param-value> ............... </param-value>
+ </init-param>
+ <init-param>
+ ......................
+ </init-param>
+ ......................
+ ......................
+ </filter>
+
+ <filter-mapping>
+ <filter-name>TokenValidator</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+]]></pre>
+<br/>
+
+<h3>Step 2 : Add signin page</h3>
+
+<pre><![CDATA[
+<form name="openidsignin" id="openidsignin" method="post"
action="openidsubmit.jsp">
+ Enter Your OpenID Url:<input type="text" name="openIdUrl"/>
+ <input type="submit" name="submit" value="Login" />
+</form>
+]]></pre>
+<br/>
+
+<p>As per above scenario <b>openidsubmit.jsp</b> page will accept the OpenID
url and will do authentication using Identity Solution's
+relying parting components.</p>
+
+<h3>Step 3 : Create OpenID authentication request[openidsubmit.jsp]</h3>
+<pre><![CDATA[
+// imports
+<[EMAIL PROTECTED]
import="org.wso2.solutions.identity.openid.relyingparty.OpenIDAuthenticationRequest"%>
+<[EMAIL PROTECTED]
import="org.wso2.solutions.identity.openid.relyingparty.OpenIDConsumer"%>
+
+<%
+
+try
+{
+ OpenIDAuthenticationRequest openIDAuthRequest = null;
+
+ openIDAuthRequest = new OpenIDAuthenticationRequest(request,response);
+
+ openIDAuthRequest.setOpenIDUrl((String)request.getParameter("openIdUrl"));
+
+ // you need to set an absolute url as the return url.
+ // once the user authenticated successfully or failed at the OpenID
+ // Provider, the browser will be redirected to this url
+
+ openIDAuthRequest.setReturnUrl("http://myapp.com/openidcallback.jsp");
+
+ // Use Simple Attribute Registration 1.1
+ openIDAuthRequest.addRequestType(OpenIDRequestType.SIMPLE_REGISTRATION);
+
+ // Set the required claims - I need these claims from the OpenID
+ // Provider.
+
openIDAuthRequest.addRequiredClaims(IdentityConstants.OpenId.SimpleRegAttributes.NICK_NAME);
+
openIDAuthRequest.addRequiredClaims(IdentityConstants.OpenId.SimpleRegAttributes.FULL_NAME);
+
openIDAuthRequest.addRequiredClaims(IdentityConstants.OpenId.SimpleRegAttributes.EMAIL);
+
openIDAuthRequest.addRequiredClaims(IdentityConstants.OpenId.SimpleRegAttributes.DOB);
+
openIDAuthRequest.addRequiredClaims(IdentityConstants.OpenId.SimpleRegAttributes.GENDER);
+
openIDAuthRequest.addRequiredClaims(IdentityConstants.OpenId.SimpleRegAttributes.POSTAL_CODE);
+
openIDAuthRequest.addRequiredClaims(IdentityConstants.OpenId.SimpleRegAttributes.COUNTRY);
+
openIDAuthRequest.addRequiredClaims(IdentityConstants.OpenId.SimpleRegAttributes.LANGUAGE);
+
openIDAuthRequest.addRequiredClaims(IdentityConstants.OpenId.SimpleRegAttributes.TIMEZONE);
+
+ // Performs authentication : this will redirect you to OpenID Provider for
authentication
+ OpenIDConsumer.getInstance().doOpenIDAuthentication(openIDAuthRequest);
+
+}
+catch(RelyingPartyException e)
+{
+ // handle exceptions
+ out.println(e.getMessage());
+}
+
+%>
+]]></pre>
+<br/>
+
+<h3>Step 4 : Add OpenID callback page[openidcallback.jsp]</h3>
+
+<p>After being authenticated at the OpenID Provider, user will be redirected
to this page.</p>
+<pre><![CDATA[
+// imports
+<[EMAIL PROTECTED] import="org.wso2.solutions.identity.IdentityConstants"%>
+<[EMAIL PROTECTED]
import="org.wso2.solutions.identity.openid.relyingparty.OpenIDConsumer "%>
+
+<%
+
+String nickname = null;
+String auth =
(String)request.getAttribute(TokenVerifierConstants.SERVLET_ATTR_STATE);
+
+ if(auth != null && TokenVerifierConstants.STATE_SUCCESS.equals(auth)) {
+
+ //user authenticated successfully at his OpenID Provider
+ //let me get his nick name - which I requested.
+
+ if
(request.getAttribute(IdentityConstants.OpenId.SimpleRegAttributes.NICK_NAME)
!= null)
+ {
+ nickname =
request.getAttribute(IdentityConstants.OpenId.SimpleRegAttributes.NICK_NAME);
+
+ }else {
+
+ // there can be OpenID Providers, who do not maintain a list of user
+ // attributes. In such case you won't receive any value here -
+ // though you requested.
+ }
+ }
+ else
+ {
+ //user authentication failed at his OpenID Provider
+ }
+%>
+]]></pre>
+<br/>
+
+<h3>Step 5 : Add the following jars to your classpath</h3>
+<ul>
+<li>axiom-api-1.2.4.jar</li>
+<li>axiom-dom-1.2.4.jar</li>
+<li>axiom-impl-1.2.4.jar</li>
+<li>wstx-asl-3.2.1.jar</li>
+<li>bcprov-jdk15-132.jar</li>
+<li>core-3.1.1.jar</li>
+<li>dom4j-1.6.1.jar</li>
+<li>opensaml-1.1.406.jar</li>
+<li>stax-api-1.0.1.jar</li>
+<li>wss4j-SNAPSHOT.jar</li>
+<li>xmlsec-534045-patched.jar</li>
+<li>wso2is-token-verifier-core-1.5.jar</li>
+<li>wso2is-base-1.5.jar</li>
+<li>openid4java-nodeps-0.9.3.1.jar</li>
+</ul>
+
+
+</body>
+</html>
Modified:
trunk/solutions/identity/modules/documentation/src/site/xdoc/release-notes.xml
==============================================================================
---
trunk/solutions/identity/modules/documentation/src/site/xdoc/release-notes.xml
(original)
+++
trunk/solutions/identity/modules/documentation/src/site/xdoc/release-notes.xml
Fri Apr 4 10:33:48 2008
@@ -29,7 +29,7 @@
<body>
<h1>WSO2 Identity Solution @wso2is_version@ Release Notes</h1>
-<h3>11 December, 2007</h3>
+<h3>07 April, 2008</h3>
<p>The WSO2 Identity Solution enables LAMP and Java websites to provide strong
authentication
based on the new interoperable Microsoft CardSpace technology, which is built
@@ -59,7 +59,10 @@
<li>Statistics/reporting/audit trail</li>
<li>Ability to revoke information cards</li>
<li>Issues information cards based on username-token
credential and
- self issued credential</li>
+ self issued credential</li>
+ <li>Issues OpenID information cards based on username-token
credential and
+ self issued credential</li>
+ <li>Issues OpenID</li>
</ul>
</li>
<li>Apache HTTPD relying party module - mod_cspace</li>
@@ -76,6 +79,8 @@
enable CardSpace authentication</li>
<li>Supports multi-valued claims</li>
<li>Supports a set of simple operation modes</li>
+ <li>Supports for OpenID</li>
+ <li>Supports for OpenID Information Cards</li>
</ul>
</ul>
@@ -108,6 +113,6 @@
<strong><em>-The WSO2 Identity Solution Development Team</em></strong>
<hr />
-<p>Copyright 2007 WSO2 Inc.</p>
+<p>Copyright 2008 WSO2 Inc.</p>
</body>
</html>
Modified:
trunk/solutions/identity/modules/documentation/src/site/xdoc/rp_developer_guide.xml
==============================================================================
---
trunk/solutions/identity/modules/documentation/src/site/xdoc/rp_developer_guide.xml
(original)
+++
trunk/solutions/identity/modules/documentation/src/site/xdoc/rp_developer_guide.xml
Fri Apr 4 10:33:48 2008
@@ -19,18 +19,19 @@
<head>
</head>
<body>
-<h1>WSO2 Identity Solution, [EMAIL PROTECTED]@ : Java Servlet Filter Developer
Guide</h1>
+<h1>WSO2 Identity Solution, [EMAIL PROTECTED]@ : Java Servlet Filter Developer
Guide : Part I</h1>
<h2>Introduction</h2>
This servlet filter
org.wso2.solutions.identity.relyingparty.servletfilter.RelyingPartyFilter
can be used with a servlet based web application to provide information card
and OpenID
-login to that application. The developer should follow the steps described
below
+login to that application.The Part I of this guide explains how you can add
Information Card support to
+a relying party web application. The developer should follow the steps
described below
in intgrating this servlet filter:
<h2>Configuration Steps</h2>
<p></p>
-<h3>Step 1 : Add the servlet filter to you application</h3>
+<h3>Step 1 : Add the servlet filter to your application</h3>
<p>Include the following entry in the web.xml file of the application:</p>
@@ -146,7 +147,7 @@
<br/>
<h3>Step 2 : Add the information card login page</h3>
<br/>
-The user loing page must contain a form with an <strong>object</strong> tag as
shown below:
+The user loging page must contain a form with an <strong>object</strong> tag
as shown below:
<pre><![CDATA[
<form name="frm" id="frm" method="post" action="InfoCardLogin.action">
@@ -186,7 +187,6 @@
<li>xmlsec-534045-patched.jar</li>
<li>wso2is-token-verifier-core-1.0.jar</li>
<li>wso2is-base-1.0.jar</li>
-<li>openid4java-nodeps-0.9.3.1.jar</li>
</ul>
<br/>
<h3>Step 4 : Obtain the information in the verified token and process</h3>
_______________________________________________
Identity-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/identity-dev