<?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/"
	>

<channel>
	<title>Talking Identity &#124; Nishant Kaushik&#039;s Look at the World of Identity Management &#187; OAuth</title>
	<atom:link href="http://blog.talkingidentity.com/tag/oauth/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.talkingidentity.com</link>
	<description>An Architect&#039;s Quest to make sense of the world of Identity and Access Management</description>
	<lastBuildDate>Thu, 22 Dec 2011 21:56:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>The Difference between Twitter as Utility and Twitter as IdP</title>
		<link>http://blog.talkingidentity.com/2011/06/the-difference-between-twitter-as-utility-and-twitter-as-idp.html</link>
		<comments>http://blog.talkingidentity.com/2011/06/the-difference-between-twitter-as-utility-and-twitter-as-idp.html#comments</comments>
		<pubDate>Thu, 09 Jun 2011 15:14:39 +0000</pubDate>
		<dc:creator>Nishant Kaushik</dc:creator>
				<category><![CDATA[Insight IdM]]></category>
		<category><![CDATA[Identity in Social Networking]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iOS 5]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://blog.talkingidentity.com/?p=1219</guid>
		<description><![CDATA[The buzz, and confusion, around the Twitter-iOS integration is incredible, especially among the identirati. It&#8217;s created some very interesting twitter discussions, and some huge claims about what this means for Twitter, Apple and the social landscape in general. I&#8217;ve now seen a number of articles that equated the WWDC announcement as confirming that &#8220;Twitter is [...]]]></description>
			<content:encoded><![CDATA[<p>The buzz, and confusion, around the <strong>Twitter-iOS integration</strong> is incredible, especially among the identirati. It&#8217;s created some very interesting twitter discussions, and some huge claims about what this means for Twitter, Apple and the social landscape in general. I&#8217;ve now seen a number of articles that equated the WWDC announcement as confirming that &#8220;<a href="http://bit.ly/iqzQwo" target="_blank">Twitter is now the Identity Provider for Apple</a>&#8220;. Since so much of what we&#8217;re hearing seems to be speculation, I&#8217;m going to wait for today&#8217;s debriefing on the integration to provide details before I comment on the implications of the integration (<a href="http://bit.ly/jSZ3jo" target="_blank">Phil Hunt</a> will be my Bob Woodward on this, doing all the investigative reporting from the event). But I do want to explain the difference I see between Twitter as Utility and Twitter and IdP.</p>
<p><strong><img class="alignright size-full wp-image-1221" title="Utility-Pipe" src="http://blog.talkingidentity.com/wp-content/uploads/2011/06/Utility-Pipe.jpg" alt="Utility-Pipe" width="200" height="194" />TWITTER AS UTILITY </strong>is very similar to how &#8220;Email Photo&#8221; works when you&#8217;re in the <em>Photos </em>app. When you click on the button, the <em>Photos </em>app knows how to call the iOS API to send the picture to the <em>Mail </em>app. From that point on, it is the <em>Mail</em> app that deals with how to send it out as an email, including knowing which account on which email provider (out of many even) to use. The <em>Photos </em>app neither knows nor cares about this. In the <em>Flickr </em>app, an app backed by an online service, when I click on &#8220;Email Photo&#8221;, the app simply pulls down the URL for the photo and sends that (via the iOS API) to the <em>Mail </em>app. My Flickr service saw nothing about which email provider was used. This is how the &#8220;Tweet Photo&#8221; button could end up working (except that it doesn&#8217;t launch an app but rather an in-built interface to writing up the tweet). Through and after all this, <span style="text-decoration: underline;">no</span> relationship exists between my Flickr account and my Twitter account. Implication = there is nothing to revoke either.</p>
<p><strong><img class="alignright size-full wp-image-1222" title="Bank" src="http://blog.talkingidentity.com/wp-content/uploads/2011/06/Bank.jpg" alt="Bank" width="200" height="175" />TWITTER AS IdP </strong>is much more involved in not only the app, but in the online service the app represents. The first time I download and launch an app like the <em>LivingSocial</em> app, it will want to associate that app with an account in the LivingSocial service. In a scenario where I&#8217;ve never LivingSocial before, it will want me to register for an account. In the current pre iOS 5 world, this involves the app showing me 3 options &#8211; &#8220;Register for Account&#8221;, &#8220;Sign In with Twitter&#8221;, &#8220;Sign In with Facebook&#8221;. Clicking on &#8220;Sign In with Twitter&#8221; would send me through the OAuth dance. If Twitter truly were an IdP in iOS, then this experience would change radically. (Hypothetically) I would instead get the option to &#8220;Sign Up with You Twitter Identity&#8221; or &#8220;Other Options&#8221;, and clicking on the first would just get me in, without having to go through the OAuth dance. In fact, if there were an iOS setting that allowed me to set my preference to  always register for services with Twitter (provided the service supports that), then I may never even see the sign up screen. And the backend service now relies on Twitter as my IdP, maybe even being authorized (OAuth permissioning) to interact with it even outside of when I use the app (like if I sign up for a deal while interacting with the website on my computer).</p>
<p>The implications of the latter are pretty vast, in terms of what controls iOS would need to provide users over how to authorize, permission and revoke access. This would be no easy undertaking, and like the Facebook privacy settings we all love to hate, could get very messy and complicated to understand and manage.</p>
<p>Your thoughts? And like I said, I look forward to learning more in today&#8217;s event.</p>
<p class="tags">Tags: <a href="http://blog.talkingidentity.com/tag/identity-in-social-networking" rel="tag">Identity in Social Networking</a>, <a href="http://blog.talkingidentity.com/tag/ios" rel="tag">iOS</a>, <a href="http://blog.talkingidentity.com/tag/ios-5" rel="tag">iOS 5</a>, <a href="http://blog.talkingidentity.com/tag/oauth" rel="tag">OAuth</a>, <a href="http://blog.talkingidentity.com/tag/twitter" rel="tag">Twitter</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.talkingidentity.com/2011/06/the-difference-between-twitter-as-utility-and-twitter-as-idp.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Thoughts on the Twitter-iOS Integration</title>
		<link>http://blog.talkingidentity.com/2011/06/quick-thoughts-on-the-twitter-ios-integration.html</link>
		<comments>http://blog.talkingidentity.com/2011/06/quick-thoughts-on-the-twitter-ios-integration.html#comments</comments>
		<pubDate>Tue, 07 Jun 2011 15:27:48 +0000</pubDate>
		<dc:creator>Nishant Kaushik</dc:creator>
				<category><![CDATA[Insight IdM]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iOS 5]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://blog.talkingidentity.com/?p=1217</guid>
		<description><![CDATA[One of the big announcements at yesterdays WWDC conference was the integration of Twitter into iOS 5 (those screenshots are nice!). Twitter fanatics are going gaga about this, talking about how this is a game-changer and even conjecturing on what the apparent Facebook snub means. However, what I want to know is &#8211; what does [...]]]></description>
			<content:encoded><![CDATA[<p>One of the big announcements at yesterdays WWDC conference was the <a href="http://tcrn.ch/lfh4iM" target="_blank">integration of Twitter into iOS 5</a> (those screenshots are nice!). Twitter fanatics are going gaga about this, talking about how <a href="http://tnw.co/la4E2N" target="_blank">this is a game-changer</a> and even conjecturing on what the <a href="http://read.bi/lmxvr2" target="_blank">apparent Facebook snub</a> means. However, what I want to know is &#8211; what does this mean for how <strong>OAuth</strong> is used to integrate with Twitter.</p>
<p>First things first, it isn&#8217;t even clear if the integration between iOS and Twitter is based on OAuth or Twitter&#8217;s own xAuth. One would hope the former given Twitter&#8217;s <a href="http://bit.ly/m5nvZC" target="_blank">stated direction</a>. Ping Identity&#8217;s resident OAuth wizard Paul Madsen tried to imagine what the <a href="http://bit.ly/lnX4U3" target="_blank">OAuth based integration would look like</a>. Looking at it made me wonder if we&#8217;re seeing a radical change in how OAuth could be used on devices.</p>
<p>The problem is this: Apple is (justifiably) proud of the attention they pay to the usability of their products. And the OAuth flow would seem to be a problem here. In the simplest form, authorizing all the apps in iOS (camera, contacts, safari, etc) to have Twitter access would repeatedly send the user through the OAuth flow, a user experience I doubt Apple would agree to. So the question is whether a single request token asked for by iOS could be shared amongst all the apps on iOS. If yes, then how can the user manage permissions regarding what these apps can do individually? And how would they revoke a specific app? This model would make it highly unlikely that the integration would extend to 3rd party apps installed from the app store (because of that lack of separation).</p>
<p>Another possibility is that iOS will include some APIs that <strong>proxy </strong>the Twitter integration. So all communication to Twitter would simply originate from iOS, not from the apps directly. This would eliminate the need for multiple OAuth flows, but the same challenges around permissioning and revocation would remain. On Twitter, the user would just see one app authorized for access &#8211; iOS/iPhone/iPad. One way I can see Apple mitigating this while also opening this feature up to 3rd party apps is by adding their own app specific permission layer in the iOS settings. Which would be a practical way to manage this, and open up a whole slew of questions around OAuth and OAuth proxies on devices.</p>
<p>Of course, all of this is moot if the integration requires me to go into iOS settings and enter my Twitter username and password&#8230;</p>
<p class="tags">Tags: <a href="http://blog.talkingidentity.com/tag/apple" rel="tag">Apple</a>, <a href="http://blog.talkingidentity.com/tag/ios" rel="tag">iOS</a>, <a href="http://blog.talkingidentity.com/tag/ios-5" rel="tag">iOS 5</a>, <a href="http://blog.talkingidentity.com/tag/oauth" rel="tag">OAuth</a>, <a href="http://blog.talkingidentity.com/tag/twitter" rel="tag">Twitter</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.talkingidentity.com/2011/06/quick-thoughts-on-the-twitter-ios-integration.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Fed-Prov and the Cloud: JIT Provisioning.Next</title>
		<link>http://blog.talkingidentity.com/2010/06/fed-prov-and-the-cloud-jit-provisioning-next.html</link>
		<comments>http://blog.talkingidentity.com/2010/06/fed-prov-and-the-cloud-jit-provisioning-next.html#comments</comments>
		<pubDate>Mon, 07 Jun 2010 14:58:37 +0000</pubDate>
		<dc:creator>Nishant Kaushik</dc:creator>
				<category><![CDATA[Insight IdM]]></category>
		<category><![CDATA[The Cloud Identity Series]]></category>
		<category><![CDATA[Attribute Exchange]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Federated Provisioning]]></category>
		<category><![CDATA[Gluecon]]></category>
		<category><![CDATA[GlueCon-FPSeries]]></category>
		<category><![CDATA[Identity Governance Framework]]></category>
		<category><![CDATA[IGF]]></category>
		<category><![CDATA[JIT Provisioning]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[OpenID]]></category>
		<category><![CDATA[SAML]]></category>

		<guid isPermaLink="false">http://blog.talkingidentity.com/?p=928</guid>
		<description><![CDATA[In my last post, I discussed the basic architectural model of Just-In-Time Provisioning, and some challenges it has in addressing enterprise needs related to cloud computing. In this post, I will propose some possible enhancements to the basic architecture that could address those challenges. Each of these solutions could be viable, though each seems to [...]]]></description>
			<content:encoded><![CDATA[<p>In <a href="http://bit.ly/91XMln">my last post</a>, I discussed the basic architectural model of <strong>Just-In-Time Provisioning</strong>, and some challenges it has in addressing enterprise needs related to cloud computing. In this post, I will propose some possible enhancements to the basic architecture that could address those challenges. Each of these solutions could be viable, though each seems to have its pros and cons that makes them optimal for different situations.</p>
<h3>Option 1: OpenID Attribute Exchange</h3>
<p>Some view provisioning as being little more than an attribute exchange. So it is natural to consider <strong>OpenID Attribute Exchange</strong>, which allows the federation service to request additional attributes from the OpenID Provider during the authentication flow. Essentially, when the federation service detects that the user doesn&#8217;t have an account, it could validate the claims it received as part of the token, and if it needs additional data, then it could add a request for those to its authentication request.</p>
<p><img class="alignnone size-full wp-image-930" title="JIT-Provisioning OpenID" src="http://blog.talkingidentity.com/wp-content/uploads/2010/06/JIT-Prov_OpenID.jpg" alt="JIT-Provisioning OpenID" width="550" height="236" /></p>
<p>This can solve the data retrieval challenge, and squarely positions OpenID as a JIT Provisioning protocol. But the componentized architecture we have been assuming does face some other problems that it must solve in the enterprise cloud context. These are not problems with OpenID itself, rather with the overall architecture (again, this disappears when all 3 components are combined into a single service application, which is how OpenID-based RPs are able to do this today).</p>
<p>As discussed previously, when the SP is hosting more than one service, you often find that the attributes needed for provisioning depend on which service the user is trying to get access to. This means that the federation service would need to ask the OP for different attributes depending on which cloud service the user is trying to reach. Since the federation service can no longer just work off a static list of attributes that it should always query for, this adds the need for the federation service to able to ask the provisioning service for the list of attributes it needs, in the context of the specific service being provisioned. While the SchemaRequest operation in SPML could be used here, there needs to be a way to differentiate (in a standard way) the complete schema supported for the target by the provisioning system from that subset needed to create an account.</p>
<p>Another challenge created is for subsequent first interactions of the user with the other services hosted at the same SP. Since the provisioning system already knows the user, it already has some of the attributes it needs, but not all. So when the federation service queries it for which attributes it needs to retrieve, it should reply with just those attributes it doesn&#8217;t already have (from provisioning the user to a different service). The SchemaRequest operation cannot handle this scenario currently.</p>
<p>The bigger enterprise challenge is how the work on the OP side can be broken up between the OP (federation service) and the provisioning engine (policy and GRC service).</p>
<p>These are minor challenges to be sure (since you can always just get the full schema and update attributes that have changed to maintain consistency), but ones that become important when the flows are examined for compliance and consistency.</p>
<h3>Option 2: SAML Attribute Query</h3>
<p>In the last post, I mentioned how SAML (with the SSO Profile) and OpenID are both squarely positioned to handle the majority of the basic JIT Provisioning use cases. Good thing is, the SAML folks have been thinking about the attribute exchange problem as well, and in the spec have defined a mechanism to handle this called the <strong>SAML Attribute Query</strong>, which takes a different approach from the OpenID solution. The query for attributes in this case can go over what they call a back-channel. This can be leveraged to facilitate an attribute exchange between the Provisioning Services on each side of the federation boundary.</p>
<p><img class="alignnone size-full wp-image-932" title="JIT-Provisioning SAML" src="http://blog.talkingidentity.com/wp-content/uploads/2010/06/JIT-Prov_SAML.jpg" alt="JIT-Provisioning SAML" width="550" height="243" /></p>
<p>The big advantage of this model is that the front-channel (usually the browser, but could be other environments much harder to manipulate) is not getting overloaded with the data retrieval task. Also, since the two provisioning systems are talking to each other, they are fully aware of what is going on and can enforce standard provisioning policies as well as track and audit the happenings on the other side &#8211; major considerations in the enterprise space.</p>
<p>However, this does mean that it isn’t truly on-the-fly, since the SAML spec would require that a trust relationship be defined between the two sides ahead of time. There is actually a lot of interesting work being discussed right now in the SSTC that could directly influence fed-prov use cases, so I would encourage folks to keep an eye on that.</p>
<h3>Option 3: OAuth + ArisID (IGF)</h3>
<p>Last (but not least) is a possible solution that I first contemplated on my blog a few months ago, and have since been noodling over with other folks, and that is the thought of leveraging two emerging powerhouses &#8211; <strong>OAuth</strong> and the <strong>Identity Governance Framework</strong>. The idea here is very simple. When the user first goes to the SP, the SP can initiate the creation of an OAuth connection with the enterprise provisioning engine, facilitated by the user, of course (this is, after all, a user-centric protocol). The enterprise, for its part, can put in place policies and risk-based controls that would allow it to trust such a connection. With the connection between the parties established, the SP provisioning service can now use the ArisID APIs being defined as part of the IGF work to retrieve the data it needs. IGF adds a whole policy layer here, since the SP will provide a CARML declaration regarding itself (for instance, including details of its SAS 70 certification), the attributes it needs, and how it intends to use them (emailing user policies, storage policies, etc). The enterprise provisioning engine for its part can evaluate the CARML file and publish it&#8217;s own AAPML file with its policies.</p>
<p><img class="alignnone size-full wp-image-933" title="JIT-Provisionig OAuth IGF" src="http://blog.talkingidentity.com/wp-content/uploads/2010/06/JIT-Prov_OAuthIGF.jpg" alt="JIT-Provisionig OAuth IGF" width="550" height="243" /></p>
<p>One of the interesting things about this approach is that it enables the creation of on-the-fly trust between the two sides. The enterprise may never have dealt with this SP before, but can still interact with it with a certain level of trust. This trust is built on two separate components &#8211; the assertion from the user itself asking that provisioning take place (OAuth flow), and the CARML file declarations (IGF flow) &#8211; that make the creation of the federation a risk-based decision (automate-able) as opposed to a business decision (manual). Since this model also involves the provisioning engines on both sides, the security and policy controls can be enforced.</p>
<h3>Still Work To Be Done</h3>
<p>These models obviously need to be explored and poked at in depth to determine if they hold. And while these depend on some standards work that is still to be baked, there is a lot of other standards work happening (in particular in the OpenID and OAuth arenas) that could supplant these options completely.</p>
<p>And there are major lifecycle management issues still to be discussed and explored. How does one handle de-provisioning in a JIT Provisioning environment? How can SPs that want to know about profile updates find out outside of the user interaction? And how do all those workflow and policy based controls that are present in Provisioning systems today fit into all of this? Well, I will be exploring some of this in my <strong>Burton Catalyst North America</strong> talk on &#8220;<em>Beyond SPML: Access Provisioning in a Services World</em>&#8221; in July. So be sure to check out that session if you&#8217;ll be there. In the meantime, please keep leave your comments and feedback here so we can keep the discussion going.</p>
<p>[Ends Part 4 of 4]</p>
<p class="tags">Tags: <a href="http://blog.talkingidentity.com/tag/attribute-exchange" rel="tag">Attribute Exchange</a>, <a href="http://blog.talkingidentity.com/tag/cloud-computing" rel="tag">Cloud Computing</a>, <a href="http://blog.talkingidentity.com/tag/federated-provisioning" rel="tag">Federated Provisioning</a>, <a href="http://blog.talkingidentity.com/tag/gluecon" rel="tag">Gluecon</a>, <a href="http://blog.talkingidentity.com/tag/gluecon-fpseries" rel="tag">GlueCon-FPSeries</a>, <a href="http://blog.talkingidentity.com/tag/identity-governance-framework" rel="tag">Identity Governance Framework</a>, <a href="http://blog.talkingidentity.com/tag/igf" rel="tag">IGF</a>, <a href="http://blog.talkingidentity.com/tag/jit-provisioning" rel="tag">JIT Provisioning</a>, <a href="http://blog.talkingidentity.com/tag/oauth" rel="tag">OAuth</a>, <a href="http://blog.talkingidentity.com/tag/openid" rel="tag">OpenID</a>, <a href="http://blog.talkingidentity.com/tag/saml" rel="tag">SAML</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.talkingidentity.com/2010/06/fed-prov-and-the-cloud-jit-provisioning-next.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Can OAuth do what SPML hasn&#8217;t?</title>
		<link>http://blog.talkingidentity.com/2009/11/can-oauth-do-what-spml-hasnt.html</link>
		<comments>http://blog.talkingidentity.com/2009/11/can-oauth-do-what-spml-hasnt.html#comments</comments>
		<pubDate>Tue, 24 Nov 2009 21:52:03 +0000</pubDate>
		<dc:creator>Nishant Kaushik</dc:creator>
				<category><![CDATA[Insight IdM]]></category>
		<category><![CDATA[The Cloud Identity Series]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Cloud Identity Model]]></category>
		<category><![CDATA[Federated Provisioning]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[SPML]]></category>

		<guid isPermaLink="false">http://blog.talkingidentity.com/?p=720</guid>
		<description><![CDATA[I spent an interesting week at HQ last week, trying to deal with some of the craziness that occurs every time a major release is on its way. But far more interesting were all the identity management conversations I engaged in during the course of the week &#8211; in hallways, over meals and especially over [...]]]></description>
			<content:encoded><![CDATA[<p>I spent an interesting week at HQ last week, trying to deal with some of the craziness that occurs every time a major release is on its way. But far more interesting were all the identity management conversations I engaged in during the course of the week &#8211; in hallways, over meals and especially over drinks. Suffice to say that it was a very thought provoking week. I wanted to use this forum to expand on a conversation that started in one venue, and then spilled over into the Twitterverse.</p>
<p>One of the topics that has been fodder for some animated discussion has been the <a href="http://blog.talkingidentity.com/tag/federated-provisioning" target="_blank">topic of federated provisioning</a>. As the cloud has brought federated authentication back into focus, it has also shone a light on the need for federated provisioning to power cloud identity. After a very interesting discussion that I had with some folks who are looking at identity in the cloud, <a href="http://twitter.com/NishantK/status/5806488992" target="_blank">I posed the following question</a> on Twitter:</p>
<blockquote><p>Had an interesting discussion this morning on how OAuth could be to federated provisioning what OpenID is to federated SSO. Any takers?</p></blockquote>
<h3>The Thesis</h3>
<p>Federated provisioning is about creating an account with appropriate privileges in underlying systems on the <em>Relying Party</em> side when triggered by an authentication event (user comes to the <em>RP</em> service from the <em>Identity Provider</em>, or <em>IdP</em>, side). Further, the authentication token being presented to the <em>RP</em> does not contain sufficient claims (attributes, etc) for the systems on the <em>RP</em> side to create the necessary account (there are other scenarios, of course, but this is the common one I am trying to address). Consequently, we have a need for the <em>RP</em> to get provisioned with data from the <em>IdP</em> side.</p>
<p>Now in my post &#8220;<a href="http://blog.talkingidentity.com/2009/02/the_thing_about_federated_prov.html" target="_blank">The Thing About Federated Provisioning</a>&#8220;, I pointed out that there are challenges in doing all of this just-in-time. Enterprises often resort to out-of-band pre-provisioning of accounts across the domain boundaries, which is where SPML proves to be adequate. But the demand for JIT mechanisms still exists. The cloud exacerbates this problem greatly, because pre-provisioning is pretty much impossible when you move up to the scale and loose coupling of the cloud. And the nature of SPML requires that extensive integration be done before the connection between the RP and the IdP can go live.</p>
<p><a href="http://oauth.net/"><img class="alignright" title="OAuth" src="http://hueniverse.com/wp-content/uploads/2009/09/OAuth-Shine-300x298.png" alt="" width="193" height="191" /></a>And this is where I believe <strong>OAuth</strong> could play a role. OpenID is already viewed as a lightweight solution for enabling federated authentication, with attribute exchange supporting the simpler data transport scenarios. We could now augment this flow by adding an <em>OAuth-based data provisioning</em> mechanism that allows a <em>Provisioning Service </em>on the <em>RP</em> side to connect back to a <em>Provisioning Service </em>on the <em>IdP</em> side and retrieve the data it needs to create the underlying accounts. Being based on OAuth, this would require far less integration than the SPML based approach would.</p>
<p>Mapping the concepts, the <em>RPs Provisioning Service</em> becomes the <em>OAuth Consumer</em>, while the <em>IdPs Provisioning Service</em> becomes the <em>OAuth Service Provider</em>. The interactions are outlined in the diagram below (greatly simplified for the purposes of this discussion).</p>
<p><img class="aligncenter size-full wp-image-726" title="OAuth for Fed-Prov" src="http://blog.talkingidentity.com/wp-content/uploads/2009/11/OAuth-for-Fed-Prov.jpg" alt="OAuth for Fed-Prov" width="500" height="312" /></p>
<h3>The Challenge</h3>
<p>But when you look at the actors involved in OAuth, you run into one problem &#8211; OAuth was defined with users in mind, not enterprises. So you find the User as part of the protocol, but nothing that would allow the Enterprise to have a say in the exchange. And this raises an interesting challenge.</p>
<p>Just like there are security issues to resolve in the OpenID protocol for it to satisfy enterprise requirements, there are policy challenges that would need to be resolved in the OAuth exchange as well. Connecting the services only requires that the user in the flow provide their assent, but if OAuth were to step in as a federated provisioning protocol, it would require some way for the enterprise to inject (fine-grained) business policy into the exchange. And what if approval workflow needs to enter the picture?</p>
<p>One thought would be to introduce an <a href="http://www.openliberty.org/wiki/index.php/IGF_Introduction" target="_blank">IGF</a> style declarative policy mechanism that would allow the services on each side of the exchange to declare intent and policy, thereby allowing some automated decision making that ensures that security and business policies are honored by the exchange. Because when you are talking about fed-prov, a one-size-fits-all construct will be a non-starter.</p>
<p>My posting on twitter did generate some good feedback from folks like <a href="http://twitter.com/xmlgrrl" target="_blank">Eve Maler</a> and <a href="http://twitter.com/itickr" target="_blank">Ashish Jain</a>. I am interested to get people&#8217;s thoughts on the viability of this idea, and whether you think adding OAuth to provisioning systems would be part of the move to enabling enterprise identity management systems for the cloud.</p>
<p class="tags">Tags: <a href="http://blog.talkingidentity.com/tag/cloud-computing" rel="tag">Cloud Computing</a>, <a href="http://blog.talkingidentity.com/tag/cloud-identity-model" rel="tag">Cloud Identity Model</a>, <a href="http://blog.talkingidentity.com/tag/federated-provisioning" rel="tag">Federated Provisioning</a>, <a href="http://blog.talkingidentity.com/tag/oauth" rel="tag">OAuth</a>, <a href="http://blog.talkingidentity.com/tag/spml" rel="tag">SPML</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.talkingidentity.com/2009/11/can-oauth-do-what-spml-hasnt.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

