<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>C&#039;est la Vie...</title>
	<atom:link href="http://bug4free.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://bug4free.wordpress.com</link>
	<description></description>
	<lastBuildDate>Mon, 09 Nov 2009 13:32:26 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='bug4free.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/b2d7532138bd48f15b51b4690207db28?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>C&#039;est la Vie...</title>
		<link>http://bug4free.wordpress.com</link>
	</image>
			<item>
		<title>Why Should We Be Consistent?</title>
		<link>http://bug4free.wordpress.com/2009/11/09/consistency/</link>
		<comments>http://bug4free.wordpress.com/2009/11/09/consistency/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 13:32:26 +0000</pubDate>
		<dc:creator>Hubert</dc:creator>
				<category><![CDATA[Computer science]]></category>
		<category><![CDATA[Glassfish]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[SJWS]]></category>
		<category><![CDATA[Sun]]></category>
		<category><![CDATA[Web Server]]></category>

		<guid isPermaLink="false">http://bug4free.wordpress.com/?p=406</guid>
		<description><![CDATA[A little tip: deploying a war file on different containers / application servers can lead to different results. Although their scope widely differs, Sun has 2 offerings when it comes to deploying a war file: Sun Java System Web Server (SJWS) and Glassfish.
Well, it turns out that Glassfish replaces the entire content of the directory [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bug4free.wordpress.com&blog=5498788&post=406&subd=bug4free&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>A little tip: deploying a war file on different containers / application servers <strong>can</strong> lead to different results. Although their scope widely differs, Sun has 2 offerings when it comes to deploying a war file: <a title="Sun JSWS" href="http://www.sun.com/software/products/web_srvr/index.xml" target="_blank">Sun Java System Web Server</a> (SJWS) and <a title="Glassfish" href="https://glassfish.dev.java.net" target="_blank">Glassfish</a>.</p>
<p>Well, it turns out that Glassfish replaces the entire content of the directory where the application is deployed while Sun JSWS will simply overwrite the existing files, thus leaving all other files in place. In a recent case, I had copied some properties file in that directory (after a first deployment) and was surprised to find them there after a re-deploy.</p>
<p>Now, I know that I&#8217;m not really supposed to mess around with files of a deployed war but I find it to be a good reminder of the sometimes not so subtle differences between containers.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bug4free.wordpress.com/406/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bug4free.wordpress.com/406/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bug4free.wordpress.com/406/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bug4free.wordpress.com/406/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bug4free.wordpress.com/406/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bug4free.wordpress.com/406/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bug4free.wordpress.com/406/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bug4free.wordpress.com/406/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bug4free.wordpress.com/406/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bug4free.wordpress.com/406/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bug4free.wordpress.com&blog=5498788&post=406&subd=bug4free&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bug4free.wordpress.com/2009/11/09/consistency/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6bada1f4a66ee55c5a96fe1b34f49652?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Hubert</media:title>
		</media:content>
	</item>
		<item>
		<title>Don&#8217;t Try This At Home</title>
		<link>http://bug4free.wordpress.com/2009/11/06/dont-try-this-at-home/</link>
		<comments>http://bug4free.wordpress.com/2009/11/06/dont-try-this-at-home/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 14:25:33 +0000</pubDate>
		<dc:creator>Hubert</dc:creator>
				<category><![CDATA[Computer science]]></category>
		<category><![CDATA[LDAP]]></category>
		<category><![CDATA[OpenSSO]]></category>
		<category><![CDATA[realm]]></category>

		<guid isPermaLink="false">http://bug4free.wordpress.com/?p=397</guid>
		<description><![CDATA[When it comes to software, I like to try all available features (even the most obscure ones) and sometimes I end up in a situation where my chances of recovery seem pretty slim. I recently managed just that by setting my OpenSSO top realm (/) to inactive&#8230;
Why would I do such thing I hear you [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bug4free.wordpress.com&blog=5498788&post=397&subd=bug4free&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>When it comes to software, I like to try all available features (even the most obscure ones) and sometimes I end up in a situation where my chances of recovery seem pretty slim. I recently managed just that by setting my <a title="OpenSSO" href="https://opensso.dev.java.net" target="_blank">OpenSSO</a> top realm (/) to <em>inactive</em>&#8230;<br />
Why would I do such thing I hear you say? Well I was trying to solve some issues related to our OpenID 2.0 extension and was experimenting with various realms, so there you have it&#8230;</p>
<p>The result of this great inspiration of mine is that I could not log anymore to the admin console; a tad annoying&#8230;<br />
The solution (thanks to Shivaram!) is to edit the LDAP configuration tree and change the value of <em>ou=services,dc=opensso,dc=java,dc=net</em> and set it back to active. That&#8217;s it, you&#8217;re in!</p>
<p>Now me thinks we should change the console so as to prevent this from being possible&#8230;</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bug4free.wordpress.com/397/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bug4free.wordpress.com/397/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bug4free.wordpress.com/397/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bug4free.wordpress.com/397/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bug4free.wordpress.com/397/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bug4free.wordpress.com/397/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bug4free.wordpress.com/397/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bug4free.wordpress.com/397/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bug4free.wordpress.com/397/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bug4free.wordpress.com/397/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bug4free.wordpress.com&blog=5498788&post=397&subd=bug4free&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bug4free.wordpress.com/2009/11/06/dont-try-this-at-home/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6bada1f4a66ee55c5a96fe1b34f49652?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Hubert</media:title>
		</media:content>
	</item>
		<item>
		<title>A Lightweight Approach</title>
		<link>http://bug4free.wordpress.com/2009/11/06/dsee-lightweight-approach/</link>
		<comments>http://bug4free.wordpress.com/2009/11/06/dsee-lightweight-approach/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 14:01:15 +0000</pubDate>
		<dc:creator>Hubert</dc:creator>
				<category><![CDATA[Computer science]]></category>
		<category><![CDATA[DSEE]]></category>
		<category><![CDATA[IRC]]></category>
		<category><![CDATA[OpenSSO]]></category>
		<category><![CDATA[Solaris]]></category>

		<guid isPermaLink="false">http://bug4free.wordpress.com/?p=392</guid>
		<description><![CDATA[The great thing about being involved in a community like OpenSSO is that you get to meet people (virtually at least) with all kinds of background and knowledge. In my last blog entry I described the standard way of deploying DSEE on Solaris (using DSCC and Java Web Console). While discussing just that on the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bug4free.wordpress.com&blog=5498788&post=392&subd=bug4free&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The great thing about being involved in a community like <a title="OpenSSO" href="https://opensso.dev.java.net/" target="_blank">OpenSSO</a> is that you get to meet people (virtually at least) with all kinds of background and knowledge. In my <a title="DSEE install" href="http://bug4free.wordpress.com/2009/10/23/dsee_install/" target="_blank">last blog entry</a> I described the <em>standard</em> way of deploying DSEE on Solaris (using DSCC and Java Web Console). While discussing just that on the <a title="OpenSSO IRC" href="http://wikis.sun.com/display/OpenSSO/OpenSSO+IRC+Channel" target="_blank">OpenSSO IRC channel</a>, <em>nettezzaumana</em> described a DSCC-free process to install DSEE. He&#8217;s posted it as a comment to my previous entry, check it out!</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bug4free.wordpress.com/392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bug4free.wordpress.com/392/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bug4free.wordpress.com/392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bug4free.wordpress.com/392/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bug4free.wordpress.com/392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bug4free.wordpress.com/392/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bug4free.wordpress.com/392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bug4free.wordpress.com/392/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bug4free.wordpress.com/392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bug4free.wordpress.com/392/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bug4free.wordpress.com&blog=5498788&post=392&subd=bug4free&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bug4free.wordpress.com/2009/11/06/dsee-lightweight-approach/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6bada1f4a66ee55c5a96fe1b34f49652?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Hubert</media:title>
		</media:content>
	</item>
		<item>
		<title>Installing Directory Server on Solaris</title>
		<link>http://bug4free.wordpress.com/2009/10/23/dsee_install/</link>
		<comments>http://bug4free.wordpress.com/2009/10/23/dsee_install/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 11:43:02 +0000</pubDate>
		<dc:creator>Hubert</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Directory Server]]></category>
		<category><![CDATA[DSEE]]></category>
		<category><![CDATA[OpenDS]]></category>
		<category><![CDATA[OpenSSO]]></category>
		<category><![CDATA[Solaris]]></category>
		<category><![CDATA[Sun]]></category>

		<guid isPermaLink="false">http://bug4free.wordpress.com/?p=362</guid>
		<description><![CDATA[As you all know, Directory Services are key to OpenSSO. We support many of them but, beside OpenDS which we use for our embedded configuration store, one of the best LDAP Directory server out there is Sun&#8217;s Directory Server Enterprise Edition (DSEE for short). In a typical deployment you will want to store user data [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bug4free.wordpress.com&blog=5498788&post=362&subd=bug4free&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>As you all know, Directory Services are key to <a title="OpenSSO" href="https://opensso.dev.java.net" target="_blank">OpenSSO</a>. We support many of them but, beside <a title="OpenDS" href="https://opends.dev.java.net/" target="_blank">OpenDS</a> which we use for our embedded configuration store, one of the best LDAP Directory server out there is Sun&#8217;s <a title="Sun DSEE" href="http://www.sun.com/software/products/directory_srvr_ee/index.jsp" target="_blank">Directory Server Enterprise Edition</a> (DSEE for short). In a typical deployment you will want to store user data on a separate Directory Service.</p>
<p>I always thought that, starting from a freshly installed Solaris 10 box, the deployment of DSEE is everything but smooth. This post lists the initial steps one has to take to perform such deployment and follow the DSEE <a title="DSSE Admin Guide" href="http://docs.sun.com/app/docs/doc/819-0995" target="_blank">Administration guide</a> (your sole reference on the matter) . This was also strongly inspired by some excellent posts (listed at the end).</p>
<p>First a few assumptions:</p>
<ul>
<li>Our starting point is a machine that runs  Solaris 10. I used the latest release (Sept. &#8216;09) available <a title="Solaris 10 download" href="http://www.sun.com/software/solaris/get.jsp#download" target="_blank">here</a>. All updates were applied after the installation.</li>
<li>I&#8217;ll assume the installation is done as root. This might not be the optimal approach, security-wise, but I&#8217;m keeping it simple here.</li>
<li>I&#8217;m installing DSEE via the JES 5 installer. JES (<a title="JES" href="http://www.sun.com/software/javaenterprisesystem/index.jsp" target="_blank">Java Enterprise System</a>) is our main delivery system for lots of Sun&#8217;s software. The neat thing about JES is that it bundles applications together (e.g. Access Manager 7.1 and DSEE). In the present case I only installed DSEE and DSCC, the DS Control Center (a useful interface to administer DSEE deployments).</li>
</ul>
<p>Now onto the steps:</p>
<ol>
<li>The first step to be done is to configure DSCC by performing:<br />
<em>&lt;dsee install dir&gt;/dscc6/bin/dsccsetup initialize</em><br />
Doing so results in an error from cacao: <em>Cannot find property: [cacao embedded].</em><br />
The problem here is that JES reverted the version of cacao (Solaris&#8217; Common Agent Container (more info <a title="Cacao" href="https://common-agent-container.dev.java.net/" target="_blank">here</a>) to a previous one.</li>
<li>We need to reinstall cacao from the Solaris 10 CD. Look for the 2 following packages: SUNWcacaort, SUNWcacaodtrace To install them, change to the packages directory and enter:<br />
<em>pkgadd -d . SUNWcacaort</em><br />
<em>pkgadd -d . SUNWcacaodtrace</em></li>
<li>Start cacao: <em>/usr/sbin/cacaoadm start</em><br />
You can verify it&#8217;s running fine with: <em>cacaoadm status</em></li>
<li>You can now re-attempt to run the initialization (step 1). You should see a message saying that the DSCC Registry has been created successfully.</li>
<li>If you want to make sure cacao starts upon reboot, enter:<br />
<em>/usr/sbin/cacaoadm enable</em></li>
<li>The the admin guide says to access DSCC through the Java Web Console in your browser. Well, we need to make sure it is running first<em>:<br />
/usr/sbin/smcwebserver status</em><br />
Most likely it&#8217;s not&#8230;</li>
<li>Start the Java Web Server with:<br />
<em>smcwebserver start</em><br />
Now you can access it with your browser and &#8230; Oops&#8230; it only listens on your localhost (127.0.0.1).<br />
To fix this, use svccfg:<br />
<em># /usr/sbin/svccfg</em><br />
<em># svc:&gt; select system/webconsole<br />
# svc:/system/webconsole&gt; setprop options/tcp_listen=true<br />
# svc:</em><em>/system/webconsole&gt;quit<br />
</em>You&#8217;ll have to restart the Java Web Console at this point:<br />
<em>/usr/sbin/smcwebserver restart</em></li>
<li>The Java Web Console is now accessible on the standard port 6789 (using https) and Voilà, the configuration of DSEE as specified in the Administration guide can now proceed unhindered.</li>
</ol>
<p>Was this useful? Did you have a different DSEE install experience? If so, please let me know!</p>
<p>Some very useful links I used for this post:</p>
<ol>
<li>http://oldmangriffous.blogspot.com/2008/10/centralised-authentication-on-solaris_26.html</li>
<li>http://www.tjhsst.edu/admin/livedoc/index.php/Sun_Java_System_Directory_Server</li>
</ol>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bug4free.wordpress.com/362/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bug4free.wordpress.com/362/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bug4free.wordpress.com/362/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bug4free.wordpress.com/362/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bug4free.wordpress.com/362/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bug4free.wordpress.com/362/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bug4free.wordpress.com/362/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bug4free.wordpress.com/362/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bug4free.wordpress.com/362/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bug4free.wordpress.com/362/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bug4free.wordpress.com&blog=5498788&post=362&subd=bug4free&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bug4free.wordpress.com/2009/10/23/dsee_install/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6bada1f4a66ee55c5a96fe1b34f49652?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Hubert</media:title>
		</media:content>
	</item>
		<item>
		<title>OpenID for OpenSSO: Realm/RP Validation Supported</title>
		<link>http://bug4free.wordpress.com/2009/09/07/realm-and-rp-validation/</link>
		<comments>http://bug4free.wordpress.com/2009/09/07/realm-and-rp-validation/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 22:48:34 +0000</pubDate>
		<dc:creator>Hubert</dc:creator>
				<category><![CDATA[Computer science]]></category>
		<category><![CDATA[identity management]]></category>
		<category><![CDATA[Op]]></category>
		<category><![CDATA[OpenID]]></category>
		<category><![CDATA[OpenSSO]]></category>
		<category><![CDATA[realm]]></category>
		<category><![CDATA[RP]]></category>
		<category><![CDATA[SSO]]></category>

		<guid isPermaLink="false">http://bug4free.wordpress.com/?p=317</guid>
		<description><![CDATA[Today we just added support in our OpenID extension (note to myself: this page needs a serious update&#8230;) for another OpenID 2.0 feature: realm &#38; RP validation.
  As described in the OpenID 2.0 specification, it is important for an IdP (sorry I mean an OP in OpenID parlance) to verify that the Relying Party [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bug4free.wordpress.com&blog=5498788&post=317&subd=bug4free&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Today we just added support in our <a title="OpenSSOs OpenID" href="https://opensso.dev.java.net/public/extensions/openid/" target="_blank">OpenID extension</a> (note to myself: this page needs a serious update&#8230;) for another OpenID 2.0 feature: realm &amp; RP validation.<br />
  <br />As described in the OpenID 2.0 specification, it is important for an IdP (sorry I mean an OP in OpenID parlance) to verify that the Relying Party (RP) <em>return_to</em> URL (that is the endpoint the browser will be redirected to once authentication has happened at the OP) is indeed an OpenID endpoint. The OP should also verify that this <em>return_to</em> URL is within the realm of the RP. This validation is done by having the OP perform a <a title="Yadis" href="http://yadis.org/papers/yadis-v1.0.pdf" target="_blank">Yadis</a>-based discovery of the RP (see <a title="RP discovery" href="http://openid.net/specs/openid-authentication-2_0.html#rp_discovery" target="_blank">here</a> for more details).
</p>
<p>The OpenID4java library, upon which is built our extension, already supports this validation. To leverage this feature in your OpenSSO deployment, you&#8217;ll have to do the following (I&#8217;m assuming you already have deployed the OpenID extension; if not, see <a title="Deploying OpenID with OpenSSO" href="http://bug4free.wordpress.com/2009/08/24/openid2-o-opensso/" target="_blank">this post</a>):
</p>
<ol>
<li>Create an XRDS document that you&#8217;ll host at the RP site.<br />
  <br />This file describes the RP endpoint and will be retrieved by the OP. At a minimum the file contains one service description with one endpoint (your <em>return_to</em> URL). To folllow up on the deployment I described in previous posts, my XRDS document (I named it yadis.xml) contains the following information:</p>
<pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&nbsp;&nbsp; &lt;xrds:XRDS xmlns:xrds="xri://$xrds" xmlns="xri://$xrd*($v*2.0)"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlns:openid="http://openid.net/xmlns/1.0"&gt;
&nbsp;&nbsp; &lt;XRD&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Service xlmns=="xri://$xrd*($v*2.0)"&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Type&gt;http://specs.openid.net/auth/2.0/return_to&lt;/Type&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;URI&gt;http://opensso.example.com:49723/consumer-servlet&lt;/URI&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/Service&gt;
&nbsp;&nbsp; &lt;/XRD&gt;
&lt;/xrds:XRD&gt;
</code></pre>
</li>
<li>In the Provider.properties file (see previous post) add the following property: <em>openid.provider.enforcerpid=true</em> (or false if you don&#8217;t want it&#8230;)</li>
</ol>
<p> That&#8217;s it; now when your RP makes an authentication request, the OP will validate the RP&#8217;s endpoint before performing the actual authentication dance.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bug4free.wordpress.com/317/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bug4free.wordpress.com/317/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bug4free.wordpress.com/317/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bug4free.wordpress.com/317/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bug4free.wordpress.com/317/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bug4free.wordpress.com/317/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bug4free.wordpress.com/317/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bug4free.wordpress.com/317/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bug4free.wordpress.com/317/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bug4free.wordpress.com/317/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bug4free.wordpress.com&blog=5498788&post=317&subd=bug4free&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bug4free.wordpress.com/2009/09/07/realm-and-rp-validation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6bada1f4a66ee55c5a96fe1b34f49652?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Hubert</media:title>
		</media:content>
	</item>
		<item>
		<title>Follow-up: Deploying the OpenID2.0 Extension for OpenSSO</title>
		<link>http://bug4free.wordpress.com/2009/09/01/follow-up-deploying-the-openid2-0-extension-for-opensso/</link>
		<comments>http://bug4free.wordpress.com/2009/09/01/follow-up-deploying-the-openid2-0-extension-for-opensso/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 13:47:10 +0000</pubDate>
		<dc:creator>Hubert</dc:creator>
				<category><![CDATA[Computer science]]></category>
		<category><![CDATA[identity]]></category>
		<category><![CDATA[IdM]]></category>
		<category><![CDATA[ldif]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[OpenDS]]></category>
		<category><![CDATA[OpenID]]></category>
		<category><![CDATA[OpenSSO]]></category>
		<category><![CDATA[SSO]]></category>

		<guid isPermaLink="false">http://bug4free.wordpress.com/?p=312</guid>
		<description><![CDATA[In my previous blog on deploying the OpenID extension with OpenSSO, there is a step (step #3 for OpenSSO) in which you have to add the OpenID attribute you created to OpenSSO&#8217;s embedded OpenDS directory.
To be more explicit, a way to achieve this is to connect to you OpenSSO DS store and run the following [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bug4free.wordpress.com&blog=5498788&post=312&subd=bug4free&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>In my <a href="http://bug4free.wordpress.com/2009/08/24/openid2-o-opensso" target="_blank">previous blog</a> on deploying the OpenID extension with OpenSSO, there is a step (step #3 for OpenSSO) in which you have to add the OpenID attribute you created to OpenSSO&#8217;s embedded OpenDS directory.<br />
To be more explicit, a way to achieve this is to connect to you OpenSSO DS store and run the following ldif fragment:</p>
<p><em>dn: cn=schema<br />
changetype: modify<br />
add: attributeTypes<br />
attributeTypes: ( 2.16.840.1.113730.3.1.9990 NAME &#8216;openid-attributes&#8217; DESC &#8216;Persisted attributes (OpenID)&#8217; SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE X-ORIGIN &#8216;<br />
Attributes (OpenID)&#8217; )<br />
-<br />
add: objectClasses<br />
objectClasses: ( 2.16.840.1.113730.3.2.9999 NAME &#8216;openiduser&#8217; DESC &#8216;Class to hold the OpenID related attributes&#8217; SUP top AUXILIARY MAY ( uid $<br />
openid-attributes ) X-ORIGIN &#8216;OpenID Attributes object class&#8217; )<br />
-</em></p>
<p>To connect to the OpenSSO embedded store, I recommend you use a tool (e.g. <a href="http://directory.apache.org/studio/" target="_blank">Apache Directory Studio</a>). Feed it with the relevant information: hostname (i.e. opensso.example.com), port (usually 50389) and possibly your encryption method.</p>
<p>Of course, tune the ldif example above to the same name (here <em>openid-attributes</em>) you used in amUser.xml</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bug4free.wordpress.com/312/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bug4free.wordpress.com/312/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bug4free.wordpress.com/312/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bug4free.wordpress.com/312/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bug4free.wordpress.com/312/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bug4free.wordpress.com/312/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bug4free.wordpress.com/312/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bug4free.wordpress.com/312/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bug4free.wordpress.com/312/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bug4free.wordpress.com/312/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bug4free.wordpress.com&blog=5498788&post=312&subd=bug4free&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bug4free.wordpress.com/2009/09/01/follow-up-deploying-the-openid2-0-extension-for-opensso/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6bada1f4a66ee55c5a96fe1b34f49652?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Hubert</media:title>
		</media:content>
	</item>
		<item>
		<title>OAuth support: a summary of our work</title>
		<link>http://bug4free.wordpress.com/2009/08/31/oauth-support-a-summary-of-our-work/</link>
		<comments>http://bug4free.wordpress.com/2009/08/31/oauth-support-a-summary-of-our-work/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 10:09:19 +0000</pubDate>
		<dc:creator>Hubert</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[OpenSSO]]></category>
		<category><![CDATA[RESTful]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[signature]]></category>
		<category><![CDATA[web services]]></category>

		<guid isPermaLink="false">http://bug4free.wordpress.com/?p=303</guid>
		<description><![CDATA[A quick summary of the OAuth support we&#8217;ve recently added in a couple of key projects.
If you&#8217;re into RESTful web services and OAuth, we have implemented an extension to the Jersey project (the JAX-RS Reference Implementation). This extension allows for the signing and/or the verification of OAuth 1.0 based requests. It is based on a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bug4free.wordpress.com&blog=5498788&post=303&subd=bug4free&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>A quick summary of the <a title="OAuth" href="http://oauth.net" target="_blank">OAuth</a> support we&#8217;ve recently added in a couple of key projects.</p>
<p>If you&#8217;re into RESTful web services and OAuth, we have implemented an extension to the <a title="Jersey" href="https://jersey.dev.java.net/" target="_blank">Jersey</a> project (the JAX-RS Reference Implementation). This extension allows for the signing and/or the verification of OAuth 1.0 based requests. It is based on a digital signature library accessed by server and client filters. Detailed information can be found <a title="OAuth in Jersey" href="http://wikis.sun.com/display/Jersey/OAuth" target="_blank">here</a>.</p>
<p>For people interested in a more integrated solution, we have also implemented a module for the open source project <a title="OpenSSO" href="https://opensso.dev.java.net/" target="_blank">OpenSSO</a> to supports OAuth as an authentication module. This module handles the Service Provider side, that is: token issuance, token &amp; message verification as well as SSO session handling (to bridge with other protocols). This module is, for now, an extension to OpenSSO. In other words it is not yet part of the core OpenSSO and should be considered as more experimental. Beside the Java doc, a good source of information on this can be found in this <a title="OAuth on OpenSSO example" href="http://developers.sun.com/identity/reference/techart/restwebservices.html" target="_blank">article</a>. There&#8217;s also Pat&#8217;s <a href="http://bug4free.wordpress.com/2009/07/17/a-video-on-openssos-oauth-token-service/" target="_blank">demo</a> at Community One this year.</p>
<p>If you&#8217;re so inclined, give it a try &#8211; any feedback is more than welcome!</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bug4free.wordpress.com/303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bug4free.wordpress.com/303/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bug4free.wordpress.com/303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bug4free.wordpress.com/303/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bug4free.wordpress.com/303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bug4free.wordpress.com/303/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bug4free.wordpress.com/303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bug4free.wordpress.com/303/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bug4free.wordpress.com/303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bug4free.wordpress.com/303/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bug4free.wordpress.com&blog=5498788&post=303&subd=bug4free&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bug4free.wordpress.com/2009/08/31/oauth-support-a-summary-of-our-work/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6bada1f4a66ee55c5a96fe1b34f49652?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Hubert</media:title>
		</media:content>
	</item>
		<item>
		<title>Deploying the OpenID2.0 Extension for OpenSSO</title>
		<link>http://bug4free.wordpress.com/2009/08/24/openid2-o-opensso/</link>
		<comments>http://bug4free.wordpress.com/2009/08/24/openid2-o-opensso/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 14:30:20 +0000</pubDate>
		<dc:creator>Hubert</dc:creator>
				<category><![CDATA[Computer science]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[identity management]]></category>
		<category><![CDATA[OpenID]]></category>
		<category><![CDATA[OpenSSO]]></category>

		<guid isPermaLink="false">http://bug4free.wordpress.com/?p=245</guid>
		<description><![CDATA[OpenSSO acts as an authentication hub and as such supports many different modules. We recently upgraded one of them, OpenID, from OpenID 1.0 to OpenID 2.0. This module was written using both OpenSSO&#8217;s client library and OpenID4Java library.
This blog post  describes the steps necessary to deploy the OpenID 2.0 extension module for OpenSSO. Once deployed, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bug4free.wordpress.com&blog=5498788&post=245&subd=bug4free&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://opensso.dev.java.net">OpenSSO</a> acts as an authentication hub and as such supports many different modules. We recently upgraded one of them, <a title="OpenID" href="http://openid.net" target="_blank">OpenID</a>, from OpenID 1.0 to OpenID 2.0. This module was written using both OpenSSO&#8217;s client library and <a href="http://code.google.com/p/openid4java" target="_blank">OpenID4Java</a> library.</p>
<p>This blog post  describes the steps necessary to deploy the OpenID 2.0 extension module for OpenSSO. Once deployed, this module will add both OpenID 1.0 and 2.0 support for your IdP. In OpenID parlance, your OpenSSO deployment can act as an OP (OpenID Provider) and thus authenticate users for OpenID client applications.</p>
<p>In the example below, I will be using 2 different hostnames for clarity purposes: openid.example.com to run the OpenID module and opensso.example.com to run OpenSSO and the OP. Remember to, at a minimum, use 2 separate instances  of your application server (I use &amp; recommend <a title="Glassfish" href="https://glassfish.dev.java.net/" target="_blank">Glassfish-v2.1</a>): one for OpenID and the other for OpenSSO.</p>
<p style="margin-bottom:0;">
<h2>For the OpenID module</h2>
<ol>
<li>
<p style="margin-bottom:0;">Deploy the openid war file.</p>
</li>
<li>
<p style="margin-bottom:0;">Update 3 properties file with values taken from the opensso deployment. Those files are: 	AMConfig.properties, Provider.properties and ldap.properties (if the OP will be persisting user&#8217;s OpenID attributes). Sample configuration files are described at the end of this document.</p>
</li>
</ol>
<ol>
<li>
<p style="margin-bottom:0;">Add properties files to the Classes directory (e.g. /Applications/NetBeans/glassfish-v2.1/domains/domain2/applications/j2ee-modules/openid/WEB-INF/classes/ on my Mac). Note that the domain MUST be restarted once those files have been added. Also at the moment, these files will have to be copied each time the openid war file is (re)deployed.</p>
</li>
</ol>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">
<h2>For OpenSSO</h2>
<ol>
<li>
<p style="margin-bottom:0;">Add openid.example.com in the list 	of realm aliases<br />
(Access Control tab → top realm →  General 	tab)</li>
<li>
<p style="margin-bottom:0;">Add an OpenID attribute to OpenSSO&#8217;s user schema. To do so, insert the following attribute in the &lt;user&gt; section of <strong>amUser.xml</strong><span style="font-weight:normal;">:<br />
</span><span style="font-size:small;"><em>&lt;AttributeSchema name=&#8221;ldap.people.return.attribute&#8221; type=&#8221;single&#8221; syntax=&#8221;string&#8221;<br />
any=&#8221;display&#8221; i18nKey=&#8221;openid-attributes&#8221;&gt;&lt;/AttributeSchema&gt;</em></span><br />
This 	file should be located in your opensso deployment directory under 	&#8230;/config/xml/ (or WEB-INF/classes/).</li>
<li>
<p style="margin-bottom:0;">Add this OpenID attribute to OpenSSO&#8217;s embedded ldap directory (I use <a title="Apache Directory Studio" href="http://directory.apache.org/studio/" target="_blank">Apache Directory Studio</a>)</p>
</li>
<li>
<p style="margin-bottom:0;">Enable self update of OpenID attribute in the ldap directory: to do so you have 2 choices (thanks to <a title="Rajeev Angal" href="http://blogs.sun.com/rangal/" target="_blank">Rajeev</a> for this tip):</p>
<ol>
<li>
<p style="margin-bottom:0;">If you have a LDAP editor:</p>
<ol>
<li>
<p style="margin-bottom:0;">connect to embedded config store directory (default : localhost:50389)</p>
</li>
<li>
<p style="margin-bottom:0;">login as user cn=Directory Manager )</p>
</li>
<li>
<p style="margin-bottom:0;">navigate to dn: 	<em>ou=SelfWriteAttributes,ou=Policies,ou=default<br />
,ou=OrganizationConfig,ou=1.0,ou=iPlanetAMPolicyService,<br />
ou=services,o=sunamhiddenrealmdelegationservicepermissions,<br />
ou=services,dc=opensso,dc=java,dc=net</em></li>
<li>
<p style="margin-bottom:0;">Edit the sunKeyValue attribute to add the openID attribute declared in OpenSSO&#8217;s schema:<br />
<em>&lt;Value&gt;openid-attibutes&lt;/Value&gt;</em> or</li>
</ol>
</li>
<li>
<p style="margin-bottom:0;">Using the addwriteperm.ldif (see content of this file at the end of this document):</p>
<ol>
<li>
<p style="margin-bottom:0;">Edit the file addwriteperm.ldif and insert the OpenID attribute (<em>openid-attibutes</em>).</p>
</li>
<li>
<p style="margin-bottom:0;">Execute the shell command:<br />
<em>$DS/ldapmodify -h localhost -p 50389 -a -f ~/bin/addwriteperm.ldif<br />
-D &#8220;cn=Directory manager&#8221; -w password</em></li>
</ol>
</li>
</ol>
</li>
<li>
<p style="margin-bottom:0;">You need to add LDAP attributes to the users data store. Log in OpenSSO as admin, browse to the Data Store tab, select the appropriate store (or the users) and add <em>openiduser</em> to the LDAP User Object list and <em>openid-attributes</em> to the LDAP User Attributes list.</p>
</li>
<li>
<p style="margin-bottom:0;">Restart your app server.</p>
</li>
</ol>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">
<h2>Configuration Files</h2>
<p style="text-decoration:none;">Below are sample configuration files (only key configuration values are being shown).</p>
<h3 style="margin-bottom:0;">AMConfig.properties</h3>
<ul>
<li>com.iplanet.am.naming.url=<br />
http://demo.example.com:8080/opensso/namingservice</li>
<li>com.sun.identity.agents.app.username=amAdmin</li>
<li>com.iplanet.am.service.password=changeme</li>
<li>com.iplanet.am.service.secret=<br />
AQIC1MSQKNB2HObD21Z8jsHOqPnCKCvL+ACy</li>
<li>am.encryption.pwd=mYqo9kXOHz4pju/dCDVGewVNcl9HsabR</li>
<li>com.iplanet.am.server.host=demo.example.com</li>
<li>com.iplanet.am.server.port=8080</li>
<li>com.iplanet.am.services.deploymentDescriptor=/opensso</li>
<li>com.sun.identity.loginurl=<br />
http://demo.example.com:8080//opensso/UI/Login</li>
<li>com.sun.identity.liberty.authnsvc.url=<br />
http://demo.example.com:8080//opensso/Liberty/authnsvc</li>
</ul>
<h3>Provider.properties</h3>
<ul>
<li>openid.provider.service_url=<br />
http://openid.example.com:49723/openid/service</li>
<li>openid.provider.setup_url=<br />
http://openid.example.com:49723/openid/setup.jsf</li>
<li>openid.provider.local-auth-url=<br />
http://openid.example.com:49723/openid/authentication</li>
<li>openid.provider.login_url=<br />
http://openid.example.com:8080/opensso/UI/Login?realm=openid</li>
<li>openid.provider.simple_registration=true</li>
<li>openid.provider.attribute_exchange=true</li>
<li>openid.provider.identity_pattern=<br />
http://openid.example.com:49723/openid/(.+)</li>
<li>openid.provider.principal_pattern=id=(.+),ou=user,dc=opensso,dc=java,dc=net</li>
<li>openid.provider.external_target=_blank</li>
<li>openid.provider.strict_protocol=false</li>
<li>openid.provider.am-profile-attributes=uid|uid,givenName|firstname,sn|lastname,cn|<br />
fullname,postalcode|postcode,c|country,mail|email</li>
<li>openid.provider.am-search-attribute=uid</li>
<li>openid.provider.attribute_types_map=uid|text,email|text,firstname|text,lastname|<br />
text,fullname|text,nickname|text,dob|date,gender|text,postcode|text,country|<br />
select,language|select,timezone|select</li>
<li>openid.provider.persistence.enabled=true</li>
<li>openid.provider.persistence.class.name=</li>
</ul>
<h3>ldap.properties</h3>
<ul>
<li>ldap.host=opensso.example.com</li>
<li>ldap.port=50389</li>
<li>ldap.bind.dn=cn=Directory Manager</li>
<li>ldap.bind.pwd=adminadmin</li>
<li>ldap.people.base=dc=opensso,dc=java,dc=net</li>
<li>ldap.people.return.attribute=openid-attributes</li>
<li>ldap.people.attribute.nodes=firstname,lastname,fullname,nickname,email,<br />
gender,dob,postcode,country,<br />
language,timezone</li>
<li>ldap.people.search.attribute=uid</li>
</ul>
<h3>addwriteperm.ldif</h3>
<ul>
<li>dn:<br />
ou=SelfWriteAttributes,ou=Policies,ou=default,ou=OrganizationConfig,ou=1.0,<br />
ou=iPlanetAMPolicyService,ou=services,o=sunamhiddenrealmdelegationservicepermissions,<br />
ou=services,dc=opensso,dc=java,dc=net<br />
changetype: modify<br />
replace: sunKeyValue<br />
sunKeyValue: xmlpolicy=&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;&lt;Policy name=&#8221;SelfWriteAttributes&#8221; referralPolicy=&#8221;false&#8221; active=&#8221;true&#8221; &gt;&lt;Rule name=&#8221;user-read-rule&#8221;&gt; &lt;ServiceName name=&#8221;sunAMDelegationService&#8221; /&gt; &lt;ResourceName name=&#8221;sms://*dc=opensso,dc=java,dc=net/sunIdentityRepositoryService/1.0/application/*&#8221; /&gt; &lt;AttributeValuePair&gt; &lt;Attribute name=&#8221;MODIFY&#8221; /&gt; &lt;Value&gt;allow&lt;/Value&gt; &lt;/AttributeValuePair&gt; &lt;/Rule&gt; &lt;Subjects name=&#8221;Subjects&#8221; description=&#8221;"&gt; &lt;Subject name=&#8221;delegation-subject&#8221; type=&#8221;AuthenticatedUsers&#8221; includeType=&#8221;inclusive&#8221;&gt; &lt;/Subject&gt; &lt;/Subjects&gt; &lt;Conditions name=&#8221;AttrCondition&#8221; description=&#8221;"&gt; &lt;Condition name=&#8221;condition&#8221; type=&#8221;UserSelfCheckCondition&#8221;&gt; &lt;AttributeValuePair&gt;&lt;Attribute name=&#8221;attributes&#8221;/&gt;&lt;Value&gt;sunIdentityServerDeviceStatus&lt;/Value&gt;&lt;Value&gt;telephonenumber&lt;/Value&gt;&lt;Value&gt;userpassword&lt;/Value&gt;&lt;Value&gt;givenname&lt;/Value&gt;&lt;Value&gt;mail&lt;/Value&gt;&lt;Value&gt;sn&lt;/Value&gt;&lt;Value&gt;cn&lt;/Value&gt;&lt;Value&gt;iplanet-am-user-password-reset-options&lt;/Value&gt;&lt;Value&gt;postaladdress&lt;/Value&gt;&lt;Value&gt;sunIdentityServerDeviceKeyValue&lt;/Value&gt;&lt;Value&gt;preferredlocale&lt;/Value&gt;&lt;Value&gt;description&lt;/Value&gt;&lt;Value&gt;iplanet-am-user-password-reset-question-answer&lt;/Value&gt;<span style="color:#ff0000;">&lt;Value&gt;openid-attributes&lt;/Value&gt;</span> &lt;/AttributeValuePair&gt; &lt;/Condition&gt; &lt;/Conditions&gt; &lt;/Policy&gt;</li>
</ul>
<p><span style="text-decoration:underline;"><br />
</span></p>
<h2>Testing your deployment</h2>
<p>To test your OpenID deployment you will need to have a web application that hands out OpenID identifiers as well as an OpenID client application (this is in addition to the OpenID extension and the OpenSSO instance described above). We also assume you have some users registered in the OpenSSO instance.</p>
<p>We&#8217;ve created a very simple application (OP.war) that will serve OpenID identifiers of the form:<br />
<em>http://your_hostname/OP/resources/user_name</em><span style="font-style:normal;">. Note that in its current form the identifier will point to an OP deployed at the following URL: </span><em><a href="http://openid.example.com:49723/openid/service">http://openid.example.com:49723/openid/service</a><br />
</em><span style="font-style:normal;">If your deployment URL differs, you&#8217;ll have to edit the (only) java file and change that link (in 2 places) before re-compiling the war file.<br />
</span>In our example, we&#8217;ll deploy the OP in the same domain than the OpenSSO instance, at the URI (<a href="http://opensso.example.com:8080/OP/">http://opensso.example.com:8080/OP/</a>).<br />
A way to verify the OP is to visit a URI of the form <em>http://opensso.example.com:8080/OP/resources/username</em> where username can be anything. You should see some text explaining what the OP is based on but more importantly you can right-click on the page to take a look at the html source of the page. Note the OpenID metadata present in the HTML <em>&lt;head&gt;</em> section of the page.</p>
<p>OpenID4Java (the library that was used to create the OpenID extension) offers a nice little OpenID client application (Consumer-servlet) that lets you test both OpenID 1.0 and OpenID 2.0 (with persistance of attributes).<br />
In our example, we&#8217;ll deploy the OpenID client application in the same domain than the OpenID extension, at the URI: (<a href="http://opensso.example.com:49723/consumer-servlet/">http://opensso.example.com:49723/consumer-servlet/</a>).</p>
<p>2 scenarios can be tested:</p>
<h3>OpenID 2.0 Authentication</h3>
<p>This scenario demonstrates OpenID-based delegated authentication with an OpenSSO IdP.</p>
<ol>
<li>Visit the OpenID Service Provider (aka. Relying 	Party) <a href="http://opensso.example.com:49723/consumer-servlet/"><br />
http://opensso.example.com:49723/consumer-servlet/</a></li>
<li>In the (Sample 1) OpenID Username, enter the OpenID identifier:<a href="http://opensso.example.com:8080/OP/"><br />
http://opensso.example.com:8080/OP/resources/username</a><br />
and 	click on Login</li>
<li>You&#8217;re redirected to OpenSSO login page. Log in with the credentials of a 	known user. Note that the user must correspond to the provided OpenID identifier. That mapping is determined by the pattern declared in the Provider.properties file (with the <em>openid.provider.identity_pattern</em> property).</li>
<li>The next page is the OpenID verification (or consent) page.<br />
Click on trust.</li>
<li> You&#8217;re now logged in the blog site.</li>
</ol>
<h3>OpenID 2.0 Authentication with Simple Registration Exchange</h3>
<p>In addition to delegated authentication, this demonstrates the provisioning of attributes to the Relying Party.</p>
<ol>
<li> Before starting, close all browser windows (or clean cookies) to make sure you don&#8217;t have a live session at the IdP.</li>
<li>Browse to the Relying Party at to the following URL:<br />
<a href="http://opensso.example.com:49723/consumer-servlet/">http://opensso.example.com:49723/consumer-servlet/</a></li>
<li>In the Sample 2 box, enter the same OpenID identifier as above (username being anything you want):<a href="http://opensso.example.com:8080/OP/">http://opensso.example.com:8080/OP/resources/username</a></li>
<li> Select (or de-select) the attributes that will be provided at the same time authentication takes place (make sure to leave at least one selected).</li>
<li> You&#8217;re now redirected to OpenSSO for authentication. Enter the credentials of the corresponding user.</li>
<li>In addition to the same consent page, notice the attributes that were requested. Fill up those information. You can chose to have those attributes remembered, in which case they will be persisted in the ldap directory.<br />
Click on trust.</li>
<li> You&#8217;re now back at the Relying Party site on a page that shows the query string and the attributes requested.</li>
</ol>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bug4free.wordpress.com/245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bug4free.wordpress.com/245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bug4free.wordpress.com/245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bug4free.wordpress.com/245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bug4free.wordpress.com/245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bug4free.wordpress.com/245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bug4free.wordpress.com/245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bug4free.wordpress.com/245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bug4free.wordpress.com/245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bug4free.wordpress.com/245/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bug4free.wordpress.com&blog=5498788&post=245&subd=bug4free&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bug4free.wordpress.com/2009/08/24/openid2-o-opensso/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6bada1f4a66ee55c5a96fe1b34f49652?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Hubert</media:title>
		</media:content>
	</item>
		<item>
		<title>A video on OpenSSO&#8217;s OAuth Token Service</title>
		<link>http://bug4free.wordpress.com/2009/07/17/a-video-on-openssos-oauth-token-service/</link>
		<comments>http://bug4free.wordpress.com/2009/07/17/a-video-on-openssos-oauth-token-service/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 07:54:13 +0000</pubDate>
		<dc:creator>Hubert</dc:creator>
				<category><![CDATA[Computer science]]></category>
		<category><![CDATA[identity]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[OpenSSO]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[web services]]></category>

		<guid isPermaLink="false">http://bug4free.wordpress.com/?p=235</guid>
		<description><![CDATA[As mentioned before, during this last JavaOne, my colleague Pat Patterson has been showing a demo that leverages JavaFX and our OpenSSO&#8217;s OAuth module (preview for now). Daniel Raskin (our OpenSSO marketing guru at Sun) and him have created a video about the demo here. Check it out, it&#8217;s informative and very funny.
   [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bug4free.wordpress.com&blog=5498788&post=235&subd=bug4free&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>As mentioned <a href="http://bug4free.wordpress.com/2009/06/08/java-one-2009-bof-4903-slides/" target="_blank">before</a>, during this last <a title="Java One" href="http://java.sun.com/javaone/" target="_blank">JavaOne</a>, my colleague Pat Patterson has been showing a demo that leverages <a title="JavaFX" href="http://javafx.com/" target="_blank">JavaFX</a> and our OpenSSO&#8217;s OAuth module (preview for now). Daniel Raskin (our OpenSSO marketing guru at Sun) and him have created a video about the demo <a title="OpenSSO's OAuth - demo" href="http://blogs.sun.com/raskin/entry/technology_preview_opensso_oauth_token" target="_blank">here</a>. Check it out, it&#8217;s informative and very funny.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bug4free.wordpress.com/235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bug4free.wordpress.com/235/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bug4free.wordpress.com/235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bug4free.wordpress.com/235/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bug4free.wordpress.com/235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bug4free.wordpress.com/235/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bug4free.wordpress.com/235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bug4free.wordpress.com/235/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bug4free.wordpress.com/235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bug4free.wordpress.com/235/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bug4free.wordpress.com&blog=5498788&post=235&subd=bug4free&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bug4free.wordpress.com/2009/07/17/a-video-on-openssos-oauth-token-service/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6bada1f4a66ee55c5a96fe1b34f49652?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Hubert</media:title>
		</media:content>
	</item>
		<item>
		<title>Persistence API &#8211; Issue Resolved</title>
		<link>http://bug4free.wordpress.com/2009/06/12/persistence-api-issue-resolved/</link>
		<comments>http://bug4free.wordpress.com/2009/06/12/persistence-api-issue-resolved/#comments</comments>
		<pubDate>Fri, 12 Jun 2009 15:28:04 +0000</pubDate>
		<dc:creator>Hubert</dc:creator>
				<category><![CDATA[Computer science]]></category>
		<category><![CDATA[Glassfish]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JPA]]></category>
		<category><![CDATA[persistence]]></category>

		<guid isPermaLink="false">http://bug4free.wordpress.com/?p=218</guid>
		<description><![CDATA[I had mentioned in a previous blog an issue I was seeing with my web application and its use of JPA. It turns out (thanks to people on the Glassfish users mailing list) that, after a refactoring, my JPQL query was rendered wrong up by using the name of the table instead of the name [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bug4free.wordpress.com&blog=5498788&post=218&subd=bug4free&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I had mentioned in a <a title="Java Persistence API Issue" href="http://bug4free.wordpress.com/2009/05/28/java-persistence-api-and-glassfish/" target="_blank">previous blog</a> an issue I was seeing with my web application and its use of JPA. It turns out (thanks to people on the Glassfish users mailing list) that, after a refactoring, my JPQL query was rendered wrong up by using the name of the table instead of the name of the Java entity.<br />
So<br />
<code>@NamedQueries(name = &quot;Acctoken.findAll&quot;, query = &quot;SELECT a FROM Acctoken a&quot;)</code><br />
should have been:<br />
<code>@NamedQuery(name = &quot;AccessToken.findAll&quot;, query = &quot;SELECT a FROM AccessToken a&quot;)</code><br />
Simple enough but, as I had written before, the fact that it somehow was working for subsequent calls remains a mystery to me&#8230;</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bug4free.wordpress.com/218/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bug4free.wordpress.com/218/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bug4free.wordpress.com/218/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bug4free.wordpress.com/218/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bug4free.wordpress.com/218/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bug4free.wordpress.com/218/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bug4free.wordpress.com/218/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bug4free.wordpress.com/218/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bug4free.wordpress.com/218/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bug4free.wordpress.com/218/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bug4free.wordpress.com&blog=5498788&post=218&subd=bug4free&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bug4free.wordpress.com/2009/06/12/persistence-api-issue-resolved/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6bada1f4a66ee55c5a96fe1b34f49652?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Hubert</media:title>
		</media:content>
	</item>
	</channel>
</rss>