<?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>Layer 7 - Blogs &#187; Identity</title>
	<atom:link href="http://www.layer7tech.com/blogs/index.php/category/identity/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.layer7tech.com/blogs</link>
	<description>API Management &#124; SOA Governance &#124; Cloud Integration</description>
	<lastBuildDate>Thu, 16 May 2013 21:00:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>SSO &amp; OAuth for Mobile Apps &#8211; Live Discussion, Feb 26</title>
		<link>http://www.layer7tech.com/blogs/index.php/sso-oauth-for-mobile-apps-live-discussion-feb-26/</link>
		<comments>http://www.layer7tech.com/blogs/index.php/sso-oauth-for-mobile-apps-live-discussion-feb-26/#comments</comments>
		<pubDate>Mon, 25 Feb 2013 17:00:57 +0000</pubDate>
		<dc:creator>Steven Tait</dc:creator>
				<category><![CDATA[Apps]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Identity]]></category>
		<category><![CDATA[Mobile Access]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Tech Talk Tuesday]]></category>

		<guid isPermaLink="false">http://www.layer7tech.com/blogs/?p=3950</guid>
		<description><![CDATA[In case you haven&#8217;t heard, we are living in the age of mobile applications and the APIs that power them. Sometimes it&#8217;s called the API economy. Smart phones are ubiquitous, social networks are the norm and we are connected to applications on our devices all the time. We love applications like Instagram, Twitter, Evertnote and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.layer7tech.com/live/" target="_blank"><img class="alignleft size-full wp-image-3955" style="margin: 0px 10px;" title="OAuth SSO Tech Talk" src="http://www.layer7tech.com/blogs/wp-content/uploads/2013/02/franco-oauthhero-v1.jpg" alt="OAuth SSO Tech Talk" width="300" height="175" /></a>In case you haven&#8217;t heard, we are living in the age of mobile applications and the APIs that power them. Sometimes it&#8217;s called the API economy.</p>
<p>Smart phones are ubiquitous, social networks are the norm and we are connected to applications on our devices all the time. We love applications like Instagram, Twitter, Evertnote and Snapchat. But we don&#8217;t like signing in and out of each of these applications across networks or devices. It&#8217;s awkward and cumbersome and we&#8217;re often doing it while on the go or commuting, with only one hand to use while tapping in our passwords. Besides, who wants to remember all those passwords anyway? And it&#8217;s not safe to use the same one for every application.</p>
<p>This is the major downside of using all these great new mobile applications. Most of us would gladly invite a scenario where we&#8217;d only need to log in once to access multiple applications. There&#8217;s <a href="http://en.wikipedia.org/wiki/Social_login" target="_blank">social login</a> &#8211; but is it safe and is our privacy secure? Remember <a href="http://money.cnn.com/2013/02/18/technology/burger-king-twitter-hacked/" target="_blank">what happened to Burger King&#8217;s Twitter account</a>? Enter <em>Single-Sign-On &amp; OAuth for Mobile Applications</em>.</p>
<p>On Tuesday Feb 26, we&#8217;ll be hosting a live interactive <a href="http://www.layer7tech.com/live/" target="_blank">Tech Talk </a>on security and Single Sign-On (SSO) for mobile applications. And I&#8217;m excited to welcome back Layer 7&#8242;s Chief Architect and resident OAuth expert Francois Lascelles. He&#8217;ll discuss how to provide SSO for mobile applications, without compromising the security of the apps or the APIs that power them. Francois will also be taking your questions throughout the Tech Talk. So, this will be a great opportunity to get answers to your questions about your own applications and the security that surrounds them.</p>
<p><a href="http://s1226.t.en25.com/e/er?s=1226&amp;lid=881&amp;elq=b58cf94d8fa04839b1917a91b1f8c3d4">Click here to get the event details and a reminder in your calendar.</a></p>
<p>On the day of the event, click here to join:</p>
<ul>
<li>  <a href="http://layer7.com/live" target="_blank">layer7.com/live</a></li>
</ul>
<p>Submit your questions:</p>
<ul>
<li>Tweet using the tag <a href="https://twitter.com/intent/tweet?source=webclient&amp;text=%40Layer7+%23layer7live" target="_blank">#Layer7Live</a></li>
<li>Email <a href="mailto:techtalk@layer7.com">techtalk@layer7.com</a></li>
<li>Post a message on <a title="Facebook" href="http://www.facebook.com/Layer7" target="_blank">Facebook</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.layer7tech.com/blogs/index.php/sso-oauth-for-mobile-apps-live-discussion-feb-26/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Give Me a JWT, I’ll Give You an Access Token</title>
		<link>http://www.layer7tech.com/blogs/index.php/give-me-a-jwt-ill-give-you-an-access-token/</link>
		<comments>http://www.layer7tech.com/blogs/index.php/give-me-a-jwt-ill-give-you-an-access-token/#comments</comments>
		<pubDate>Fri, 04 Jan 2013 23:05:26 +0000</pubDate>
		<dc:creator>Francois Lascelles</dc:creator>
				<category><![CDATA[API Management]]></category>
		<category><![CDATA[Identity]]></category>
		<category><![CDATA[OAuth]]></category>

		<guid isPermaLink="false">http://www.layer7tech.com/blogs/?p=3718</guid>
		<description><![CDATA[One of the common misconceptions about OAuth is that it provides identity federation by itself. Although supporting OAuth with federated identities is a valid pattern and is essential to many API providers, it does require the combination of OAuth with an additional federated authentication mechanism. Note that I’m not talking about leveraging OAuth for federation [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.layer7tech.com/products/oauth-toolkit" target="_blank"><img class="alignleft size-full wp-image-3724" style="margin: 0px 15px;" title="JSON Web Token" src="http://www.layer7tech.com/blogs/wp-content/uploads/2013/01/JSON-Web-Token-v1.jpg" alt="JSON Web Token" width="300" height="300" /></a>One of the common misconceptions about OAuth is that it provides identity federation by itself. Although supporting OAuth with federated identities is a valid pattern and is essential to many API providers, it does require the combination of OAuth with an additional federated authentication mechanism. Note that I’m not talking about leveraging OAuth for federation (that’s OpenID Connect) but rather an OAuth handshake in which the OAuth authorization server (AS) federates the authentication of the user.</p>
<p>There are different ways to federate the authentication of an end user as part of an OAuth handshake. One approach is to simply incorporate it as part of the authorization server’s interaction with the end user (handshake within handshake). This is only possible with grant types where the user is redirected to the authorization server in the first place, such as implicit or autz code. In that case, the user is redirected from the app, to the authorization server, to the identity provider (IDP), back to the authorization server and finally back to the application. The federated authentication is transparent to the client application participating in the OAuth handshake. The OAuth spec (which describes the interaction between the client application and the OAuth authorization server) does not get involved.</p>
<p><a href="http://flascelles.files.wordpress.com/2013/01/illustration1.png" target="_blank"><img src="http://flascelles.files.wordpress.com/2013/01/illustration1.png?w=450&amp;h=211" alt="illustration1" width="450" height="211" /></a></p>
<p>Another approach is for the client application to request the access token using an existing proof of authentication in the form of a signed claims (handshake after handshake). In this type of OAuth handshake, the redirection of the user (if any) is outside the scope of the OAuth handshake and is driven by the application. However, the exchange of the existing claim for an OAuth access token is the subject of a number of extension grant types.</p>
<p>One such extension grant type is defined in the <a href="http://tools.ietf.org/html/draft-ietf-oauth-saml2-bearer-15" target="_blank">SAML 2.0 Bearer Assertion Profiles for OAuth 2.0</a> specification, according to which a client application presents a SAML assertion to the OAuth authorization server in exchange for an OAuth access token. The <a href="http://www.layer7tech.com/products/oauth-toolkit" target="_blank">Layer 7 OAuth Toolkit</a> has implemented and provided samples for this extension grant type since its inception.</p>
<p><a href="http://flascelles.files.wordpress.com/2013/01/illustration2.png" target="_blank"><img src="http://flascelles.files.wordpress.com/2013/01/illustration2.png?w=450&amp;h=229" alt="illustration2" width="450" height="229" /></a></p>
<p>Because of the prevalence of SAML in many environments and its support by many identity providers, this grant type has the potential to be leveraged in lots of ways in the enterprise and across partners. There is, however, an emerging alternative to bloated, verbose SAML assertions – one that is more &#8220;API-friendly&#8221;, based on JSON: <a href="http://openid.net/specs/draft-jones-json-web-token-07.html" target="_blank">JSON Web Token (JWT)</a>. JWT allows the representation of claims in a compact, JSON format and the signing of such claims using JWS. For example, OpenID Connect’s ID Tokens are based on the JWT standard. The same way that a SAML assertion can be exchanged for an access token, a JWT can also be exchanged for an access token. The details of such a handshake are defined as part of another extension grant type defined as part of <a href="http://www.ietf.org/id/draft-ietf-oauth-jwt-bearer-04.txt" target="_blank">JSON Web Token (JWT) Bearer Token Profiles for OAuth 2.0</a>.</p>
<p>Give me a JWT, I’ll give you an access token. Although I expect templates for this extension grant type to be featured as part of an upcoming revision of the <a href="http://www.layer7tech.com/products/oauth-toolkit" target="_blank">OAuth Toolkit</a>, the recent addition of JWT and JSON primitives enables me to extend the current OAuth authorization server template to support JWT bearer grants with a Layer 7 Gateway today.</p>
<p>The first thing I need for this exercise is to simulate an application getting a JWT claim issued on behalf of a user. For this, I create a simple endpoint on the Gateway that authenticates a user and issues a JWT returned as part of the response.</p>
<p><a href="http://flascelles.files.wordpress.com/2013/01/idppolicy.png" target="_blank"><img src="http://flascelles.files.wordpress.com/2013/01/idppolicy.png?w=450&amp;h=484" alt="idppolicy" width="450" height="484" /></a></p>
<p>Pointing my browser to this endpoint produces the following output:</p>
<p><a href="http://flascelles.files.wordpress.com/2013/01/idoutput.png" target="_blank"><img src="http://flascelles.files.wordpress.com/2013/01/idoutput.png?w=450&amp;h=177" alt="idoutput" width="450" height="177" /></a></p>
<p>Then, I extend the authorization server token endpoint policy to accept and support the JWT bearer grant type. The similarities between the SAML bearer and the JWT bearer grant types are most obvious in this step. I was able to copy the policy branch and substitute the SAML and XPath policy constructs for JWT and JSON path ones. I can also base trust on HMAC-type signatures that involve a share secret, instead of a PKI-based signature validation, if desired.</p>
<p><a href="http://flascelles.files.wordpress.com/2013/01/newas.png" target="_blank"><img src="http://flascelles.files.wordpress.com/2013/01/newas.png?w=450&amp;h=327" alt="newAS" width="450" height="327" /></a></p>
<p>I can test this new grant type using a REST client calling the OAuth authorization server’s token endpoint. I inject into this request the JWT issued by the JWT issuer endpoint and specify the correct grant type.</p>
<p><a href="http://flascelles.files.wordpress.com/2013/01/illustration5.png" target="_blank"><img src="http://flascelles.files.wordpress.com/2013/01/illustration5.png?w=450&amp;h=307" alt="illustration5" width="450" height="307" /></a></p>
<p>I can now authorize an API call based on this new access token, as I would any other access token. The original JWT claim is saved as part of the OAuth session and is available throughout the lifespan of this access token. This JWT can later be consulted at runtime when API calls are authorized inside the API runtime policy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.layer7tech.com/blogs/index.php/give-me-a-jwt-ill-give-you-an-access-token/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Runtime Token Mapping for Mobile API Traffic</title>
		<link>http://www.layer7tech.com/blogs/index.php/runtime-token-mapping-for-mobile-api-traffic/</link>
		<comments>http://www.layer7tech.com/blogs/index.php/runtime-token-mapping-for-mobile-api-traffic/#comments</comments>
		<pubDate>Sat, 10 Nov 2012 00:30:39 +0000</pubDate>
		<dc:creator>Francois Lascelles</dc:creator>
				<category><![CDATA[API Management]]></category>
		<category><![CDATA[Identity]]></category>
		<category><![CDATA[Mobile Access]]></category>
		<category><![CDATA[OAuth]]></category>

		<guid isPermaLink="false">http://www.layer7tech.com/blogs/?p=3291</guid>
		<description><![CDATA[Here’s an interesting pattern that we’re constantly running into at various API Management projects: runtime mapping between a token used by external mobile applications and another form of authentication required by an internal system. The need for this comes up when a legacy API/service with an existing access control mechanism needs to be exposed to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.layer7tech.com/products/oauth-toolkit" target="_blank"><img class="alignleft size-full wp-image-3294" style="margin: 10px;" title="OAuth for Mobile" src="http://www.layer7tech.com/blogs/wp-content/uploads/2012/11/OAuth-for-Mobile-v2.jpg" alt="OAuth for Mobile" width="300" height="163" /></a>Here’s an interesting pattern that we’re constantly running into at various <a href="http://www.layer7tech.com/library/solution-briefs/layer-7-for-api-management/2109" target="_blank">API Management projects</a>: runtime mapping between a token used by external mobile applications and another form of authentication required by an internal system. The need for this comes up when a legacy API/service with an existing access control mechanism needs to be exposed to a mobile application for which the current access control mechanism is not appropriate.</p>
<p><strong>Example 1: Kerberos-Constrained Delegation</strong><br />
Services and APIs developed using Microsoft stacks often expect a Windows identity at runtime for role-based authorization. Providing a Kerberos ticket all the way to a mobile device outside the security domain is an anti-pattern. Instead, the user of the mobile application is subjected to an OAuth handshake. The authorization server leverages the user credentials at handshake time to also get a Kerberos ticket on behalf of this user and stores it as part of the OAuth session – see the token lifecycle management concept explained in <a href="http://www.layer7tech.com/blogs/index.php/oauth-token-management-2/" target="_blank">this previous post</a>. The OAuth access token is mapped to the Kerberos ticket at runtime when the API calls are made by the mobile application.</p>
<p><strong>Example 2: An SSO Token</strong><br />
Many backend services were originally intended to be consumed by Web applications. When the user of a Web application logs into the Web portal, a session is created in the IAM solution and when the Web portal needs to consume the internal API on behalf of the user, it leverages this same SSO token. I’m thinking here of solutions such as CA SiteMinder, Oracle Access Manager etc. When this same API is now consumed by a native mobile application, instead of a Web application, the existing login flow is no longer adequate. Again, an OAuth authorization server is leveraged to create a session between the mobile application and the API Management infrastructure. In this case, the OAuth authorization server will get the SSO token created at the same time as the front-side access token and map between the two at runtime.</p>
<p style="text-align: left;">This pattern is applicable no matter what the internal token is. Other common forms for these internal tokens include a SAML assertion issued by an STS and session IDs issued by the backend service itself through a <em>/login</em> method. Note that baking such login methods directly into an API constitutes an anti-pattern but the token mapping offers a non-intrusive “resolution”, which restores proper decoupling at the perimeter whilst avoiding any change to the legacy backend.</p>
<p><strong>OAuth Handshake</strong><br />
During an initial OAuth handshake, the OAuth authorization server is provided with credentials for the user. These credentials might be provided by the application itself in the case of a resource-owner-password-credentials grant type or by the user via a login form directly on the OAuth authorization server. The best practice is to use password grants for trusted applications (applications provided by the same provider of the API itself) and to use the implicit or authorization-code grant type for third-party applications. These credentials are used by the OAuth authorization server to authenticate the user and issue an access token. In addition to this, the OAuth authorization server may use the user credentials during this same process, to get an internal token issued by doing its own handshake with the internal token server/STS or by making a <em>/login</em>–style API call. The OAuth access token is returned to the mobile application and both tokens are stored as part of the OAuth session, alongside the other properties of the session, such as scope, timestamps etc. Note that there is often a temptation to store the user credentials as part of this session for later use but this is not recommended.</p>
<p><img class="aligncenter" style="margin-top: 10px; margin-bottom: 10px;" title="figure1-v2" src="http://www.layer7tech.com/blogs/wp-content/uploads/2012/11/figure1-v2.jpg" alt="" width="570" height="226" /></p>
<p>It makes sense to align the life spans of both the internal and external tokens so that they can be reissued together when they expire. Whenever these tokens need to be reissued, the OAuth authorization server will again be the component driving this. For better user experience, the mobile application will often want to avoid prompting the user for credentials. The OAuth standard accommodates this through the concept of refresh tokens but the internal token issuing pattern doesn’t always do that. For example, Kerberos-constrained delegation will let you get a new Kerberos token without the user&#8217;s password but other systems will not allow for that. This is often the source of motivation for storing the user credentials as part of the user session as mentioned above. You can instead allow for an internal token with a longer lifespan than the external token and reuse the existing internal token at OAuth refresh time.</p>
<p><strong>Runtime Mapping</strong><br />
At runtime, the mobile application consumes an API on behalf of the user by calling the OAuth resource server, the runtime analog of the OAuth authorization server.</p>
<p style="text-align: left;"><img class="aligncenter size-full wp-image-3298" style="margin-top: 10px; margin-bottom: 10px;" title="figure2-v2" src="http://www.layer7tech.com/blogs/wp-content/uploads/2012/11/figure2-v2.jpg" alt="" width="570" height="216" />The OAuth resource server is the component responsible for validating an incoming OAuth access token. At runtime, the resource server can retrieve session information associated with the token presented by the application from the token management layer. The resource server will look at the scope and determine whether or not the API call should be authorized or not. When access control is completely assigned to the API Management infrastructure, the resource server makes all the authorization decisions, then passes the API call to the backend API endpoint but in this case, the backend API has its own authorization mechanism. To accommodate this mapping requirement, the resource server retrieves the internal token associated with the access token presented by the mobile application and injects it to the API call to the backend service.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.layer7tech.com/blogs/index.php/runtime-token-mapping-for-mobile-api-traffic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>From the Vault: Understanding Mobile IAM with Forrester Research</title>
		<link>http://www.layer7tech.com/blogs/index.php/from-the-vault-understanding-mobile-iam-with-forrester-research/</link>
		<comments>http://www.layer7tech.com/blogs/index.php/from-the-vault-understanding-mobile-iam-with-forrester-research/#comments</comments>
		<pubDate>Wed, 22 Aug 2012 23:30:55 +0000</pubDate>
		<dc:creator>Steven Tait</dc:creator>
				<category><![CDATA[API Management]]></category>
		<category><![CDATA[BYOD]]></category>
		<category><![CDATA[Forrester]]></category>
		<category><![CDATA[From the Vault]]></category>
		<category><![CDATA[Identity]]></category>
		<category><![CDATA[Mobile Access]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[Webinars]]></category>

		<guid isPermaLink="false">http://www.layer7tech.com/blogs/?p=2839</guid>
		<description><![CDATA[In the new hybrid enterprise, organizations need to manage business functions that flow across their domain boundaries in all directions. Increasingly, this means using APIs as conduits for opening up information to services running in the cloud and apps running on mobile devices like the iPad. For enterprises, securing and governing these APIs is not [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.layer7tech.com/library/?pid=1901#Archived%20Webinars" target="_blank"><img class="alignleft size-full wp-image-2847" style="margin: 10px;" title="Forrester Webinars" src="http://www.layer7tech.com/blogs/wp-content/uploads/2012/08/Forrester-Webinars-v1.jpg" alt="Forrester Webinars" width="300" height="236" /></a>In the new hybrid enterprise, organizations need to manage business functions that flow across their domain boundaries in all directions. Increasingly, this means using APIs as conduits for opening up information to services running in the cloud and apps running on mobile devices like the iPad. For enterprises, securing and governing these APIs is not straightforward.</p>
<p>Meanwhile, <a href="http://www.layer7tech.com/library/archived-webinars/how-to-make-your-enterprise-applications-mobile-ready-fast-featuring-forrester-research-inc-eli-lill/2" target="_blank">BYOD is making Mobile Access an urgent issue for enterprises</a>; forcing them to make application functionality available to app developers in a consistent, easily-consumable, mobile-optimized manner, via APIs. Therefore, enterprise technologies are evolving to support API-based mobile interactions.</p>
<p>Identity and access management (IAM) represents a key concern for enterprise IT and it is <a href="http://www.layer7tech.com/library/archived-webinars/identity-access-privacy-in-the-new-hybrid-enterprise-featuring-forrester-research-inc/2491" target="_blank">particularly crucial in BYOD/enterprise mobile scenarios</a>. Mobile IAM requires fundamentally new approaches and the adoption of new standards such as OAuth.</p>
<p>These are some of the most critical issues facing IT departments today but <a href="http://www.layer7tech.com/library/archived-webinars/a-practical-guide-to-api-security-oauth-for-the-enterprise-featuring-forrester-research-inc/2018" target="_blank">the associated techniques and technologies</a> are not necessarily that well understood in the enterprise world. Therefore, I&#8217;d like to take this opportunity to  flag up some relevant webinars from the Layer 7 archive, all of which feature Forrester Research.</p>
<p>If you&#8217;re facing the challenge of ensuring secure access in an enterprise mobile scenario, these resources should help you make sense of the issues:</p>
<ul>
<li><strong>How to Make Your Enterprise Applications Mobile Ready, Fast</strong><br />
Leverage backend mobile middleware to deliver mobile ready enterprise APIs<br />
<a href="http://www.layer7tech.com/library/archived-webinars/how-to-make-your-enterprise-applications-mobile-ready-fast-featuring-forrester-research-inc-eli-lill/2" target="_blank"><strong>Find out more &gt;&gt;</strong></a></li>
<li><strong>Identity, Access &amp; Privacy in the New Hybrid Enterprise</strong><br />
Make sense of OAuth, OpenID Connect and UMA<br />
<a href="http://www.layer7tech.com/library/archived-webinars/identity-access-privacy-in-the-new-hybrid-enterprise-featuring-forrester-research-inc/2491" target="_blank"><strong>Find out more &gt;&gt;</strong></a></li>
<li><strong>A Practical Guide to API Security &amp; OAuth for the Enterprise</strong><br />
Implement OAuth as part of an enterprise-level API security solution<br />
<a href="http://www.layer7tech.com/library/archived-webinars/a-practical-guide-to-api-security-oauth-for-the-enterprise-featuring-forrester-research-inc/2018" target="_blank"><strong>Find out more &gt;&gt;</strong></a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.layer7tech.com/blogs/index.php/from-the-vault-understanding-mobile-iam-with-forrester-research/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>To OAuth or Not to OAuth? That is the Question &#8211; The Long Road to Standardization for OAuth 2.0</title>
		<link>http://www.layer7tech.com/blogs/index.php/to-oauth-or-not-to-oauth-that-is-the-question-the-long-road-to-standardization-for-oauth-2-0/</link>
		<comments>http://www.layer7tech.com/blogs/index.php/to-oauth-or-not-to-oauth-that-is-the-question-the-long-road-to-standardization-for-oauth-2-0/#comments</comments>
		<pubDate>Mon, 06 Aug 2012 16:00:10 +0000</pubDate>
		<dc:creator>Steven Tait</dc:creator>
				<category><![CDATA[API Management]]></category>
		<category><![CDATA[Identity]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[Tech Talk Tuesday]]></category>

		<guid isPermaLink="false">http://www.layer7tech.com/blogs/?p=2734</guid>
		<description><![CDATA[To OAuth or not to OAuth? That seems to be the question many in the API business must ask themselves now that OAuth has moved closer to becoming a standard for authentication. OAuth 2.0 reached a major milestone this week on the road to becoming a standard, when the Internet Engineering Task Force (IETF) approved [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.layer7tech.com/tech-talk-tuesday" target="_blank"><img class="alignleft size-full wp-image-2742" style="margin: 0px 20px;" title="Tech Talk with Francois Lascelles" src="http://www.layer7tech.com/blogs/wp-content/uploads/2012/08/Tech-Talk-with-Francois-Lascelles.jpg" alt="Tech Talk with Francois Lascelles" width="300" height="179" /></a>To OAuth or not to OAuth? That seems to be the question many in the API business must ask themselves now that OAuth has moved closer to becoming a standard for authentication. OAuth 2.0 reached a major milestone this week on the road to becoming a standard, when the Internet Engineering Task Force (IETF) approved a <a href="http://tools.ietf.org/html/draft-ietf-oauth-v2-31" target="_blank">draft</a> of OAuth version 2.0. Layer 7&#8242;s Chief Architect Francois Lascelles says: &#8220;This milestone solidifies the OAuth 2.0 claim of being a standard.&#8221;</p>
<p>But OAuth&#8217;s journey towards becoming a standard hasn&#8217;t been completely smooth. Last week, the original editor of the OAuth 2.0 specification and author of OAuth 1.0, Eran Hammer, <a href="http://hueniverse.com/2012/07/oauth-2-0-and-the-road-to-hell/" target="_blank">resigned and removed his name from the specifications</a>. Layer 7&#8242;s own CTO, Scott Morrison, offered his support for the specification in a blog post titled <a href="http://www.layer7tech.com/blogs/index.php/why-i-still-like-oauth-2/" target="_blank">Why I Still Like OAuth</a>, in which he stated: &#8220;In the end, OAuth is something we all need and this is why this specification remains important. The genius of OAuth is that it empowers people to perform delegated authorization on their own, without the involvement of a cabal of security admins. And this is something that is really quite profound.&#8221;</p>
<p>Still, obvious questions remain: Is OAuth 2.0 a solid protocol for authentication? Should I stop building security architecture around such a tainted specification? What other means are there for authentication if OAuth has become too focused on the enterprise? Francois Lascelles will address these questions as well as discussing and commenting on the recent OAuth 2.0 draft approval during our next live <a href="http://www.layer7tech.com/tech-talk-tuesday" target="_blank">Tech Talk</a>, on August 7. Make sure you <a href="http://img.en25.com/Web/Layer7Technologies/%7B43f83cac-584d-465b-b3d3-a0a5fe85650d%7D_Tech_Talk_Tuesday_OAuth_2.0_Do_We_Still_Need_It.ics" target="_blank">add this Tech Talk to your calendar</a>, if you want to get the event details and a reminder on the day.</p>
<p>On the day of the event, join on Livestream or Facebook:</p>
<ul>
<li><a href="http://www.livestream.com/layer7live" target="_blank">livestream.com/layer7live</a></li>
<li><a href="http://www.facebook.com/Layer7/app_142371818162" target="_blank">facebook.com/Layer7/app_142371818162</a></li>
</ul>
<p>And if you&#8217;d like to submit some questions:</p>
<ul>
<li>Tweet using the hashtag #Layer7Live</li>
<li>Email <a href="mailto:techtalk@layer7.com">techtalk@layer7.com</a></li>
<li>Check in &amp; Chat through <a href="http://www.facebook.com/Layer7/app_142371818162" target="_blank">Facebook</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.layer7tech.com/blogs/index.php/to-oauth-or-not-to-oauth-that-is-the-question-the-long-road-to-standardization-for-oauth-2-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why I Still Like OAuth</title>
		<link>http://www.layer7tech.com/blogs/index.php/why-i-still-like-oauth-2/</link>
		<comments>http://www.layer7tech.com/blogs/index.php/why-i-still-like-oauth-2/#comments</comments>
		<pubDate>Mon, 30 Jul 2012 20:50:05 +0000</pubDate>
		<dc:creator>Scott Morrison</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[API Management]]></category>
		<category><![CDATA[Identity]]></category>
		<category><![CDATA[OAuth]]></category>

		<guid isPermaLink="false">http://www.layer7tech.com/blogs/?p=2635</guid>
		<description><![CDATA[That sound of a door slamming last week was Eran Hammer storming out of the OAuth standardization process, declaring once and for all that the technology was dead and that he would no longer be a part of it. Tantrums and controversy make great social media copy, so it didn’t take long before everyone seemed [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.layer7tech.com/products/oauth-toolkit" target="_blank"><img class="alignleft size-full wp-image-2637" style="margin: 10px;" title="OAuth 2.0 Controversy" src="http://www.layer7tech.com/blogs/wp-content/uploads/2012/07/OAuth-2.0-Controversy-v2.jpg" alt="OAuth 2.0 Controversy" width="300" height="205" /></a>That sound of a door slamming last week was Eran Hammer <a href="http://hueniverse.com/2012/07/oauth-2-0-and-the-road-to-hell/" target="_blank">storming out of the OAuth standardization process</a>, declaring once and for all that the technology was dead and that he would no longer be a part of it. Tantrums and controversy make great social media copy, so it didn’t take long before everyone seemed to be talking about this one. In some quarters, you’d hardly know the London Olympics had begun.</p>
<p>So what are we to really make of all this? Is OAuth dead or at least on &#8220;the road to Hell&#8221;, as Eran now-famously put it? Certainly, my inbox is full of emails from people asking if they should stop building their security architecture around such a tainted specification.</p>
<p>I think Tim Bray, who has vast experience with the relative ups and downs of technology standardization, <a href="http://www.tbray.org/ongoing/When/201x/2012/07/28/Oauth2-dead" target="_blank">offered the best answer</a> in his own blog:</p>
<blockquote><p><em>&#8220;It’s done. Stick a fork in it. Ship the RFCs.&#8221;</em></p></blockquote>
<p>Which is to say sometimes you just have to declare a reasonable victory and deal with the consequences later. OAuth isn’t perfect, nor is it easy. But it’s needed and it’s needed now, so let’s all forget the personality politics and just get it done. And hopefully, right across the street from me here in Vancouver, where the IETF is holding it’s meetings all this week, this is what will happen.</p>
<p>In the end, OAuth is something we all need and this is why this specification remains important. The genius of OAuth is that it empowers people to perform delegated authorization on their own, without the involvement of a cabal of security admins. And this is something that is really quite profound.</p>
<p>In the past, we’ve been shackled by the centralization of control around identity and entitlements (a fancy term which really just describes the set of actions your identity is allowed, such as writing to a particular file system). This has led to a status quo in nearly every organization that is maintained first because it is hard to do otherwise but also because this equals power, which is something that is rarely surrendered without a fight.</p>
<p>The problem is that centralized identity admin can never effectively scale, at least from an administrative perspective. With OAuth, we can finally scale authentication and authorization by leveraging the user population itself — and this is the one thing that stands a chance of shattering the monopoly on centralized identity and access management (IAM). OAuth undermined the castle and the real noise we are hearing isn’t infighting on the spec but the enterprise walls falling down.</p>
<p>Here is the important insight of OAuth 2.0: <em>delegated authorization also solves that basic security sessioning problem of all apps running over stateless protocols like HTTP.</em> Think about this for a minute: The basic Web architecture provides for complete authentication on every transaction. This is dumb, so we have come up with all sorts of security context tracking mechanisms, using cookies, proprietary tokens etc. The problem with many of these is that they don’t constrain entitlements at all; a cookie is as good as a password because it really just linearly maps back to an original act of authentication.</p>
<p>OAuth formalizes this process but adds in the idea of constraint with informed user consent. And this, ladies and gentlemen, is why OAuth matters. In OAuth, you exchange a password (or other primary security token) for a time-bound access token with a limited set of capabilities to which you have explicitly agreed. In other words, the token expires fast and is good for one thing only. So you can pass it off to something else (like Twitter) and reduce your risk profile or — and this is the key insight of OAuth 2.0 — you can just use it yourself as a better security session tracker.</p>
<p>The problem with OAuth 2.0 is that it’s surprisingly hard to get to this simple idea from the explosion of protocol in OAuth 1.0a. Both specs too-quickly reduce to an exercise in swim lane diagram detail, which ironically runs counter to the movement towards simplicity and accessibility that drives today&#8217;s Web. And therein lies the rub. OAuth is more a victim of poor marketing than bad specsmanship. I have yet to see a good, simple explanation of why, followed by how. (I don’t think OAuth 1.0 was well served by the valet key analogy, which distracts from too many important insights.) As it stands today, OAuth 2.0 makes Kerberos specs seem like grade school primer material.</p>
<p>It doesn’t have to be this way. OAuth is actually deceptively simple; it is the mechanics that remain potentially complex (particularly those of the classic 1.0a, three-legged scenario). But the same can be said of SSL/TLS, which we all use daily with few problems. What OAuth needs is a set of dead simple (but nonetheless solid) libraries on the client side and equally simple, scalable support on the server. This is a tractable problem and it is coming. It also needs much better interpretation, so that people can understand it fast.</p>
<p>Personally, I agree in part with Eran Hammer’s wish buried in the conclusion of his <a href="http://hueniverse.com/2012/07/oauth-2-0-and-the-road-to-hell/" target="_blank">blog entry</a>:</p>
<blockquote><p><em>&#8220;I’m hoping someone will take 2.0 and produce a 10-page profile that’s useful for the vast majority of Web providers, ignoring the enterprise.&#8221;</em></p></blockquote>
<p>OAuth absolutely does need simple profiling for interop. But don’t ignore the enterprise. The enterprise really needs the profile too because the enterprise badly needs OAuth.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.layer7tech.com/blogs/index.php/why-i-still-like-oauth-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Returning from #CIS2012</title>
		<link>http://www.layer7tech.com/blogs/index.php/returning-from-cis2012-2/</link>
		<comments>http://www.layer7tech.com/blogs/index.php/returning-from-cis2012-2/#comments</comments>
		<pubDate>Fri, 20 Jul 2012 17:45:04 +0000</pubDate>
		<dc:creator>Francois Lascelles</dc:creator>
				<category><![CDATA[Cloud Access Control]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Cloud Security]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Identity]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[OpenID Connect]]></category>

		<guid isPermaLink="false">http://www.layer7tech.com/blogs/?p=2595</guid>
		<description><![CDATA[Cloud Identity Summit was definitely worth the trip. The talks were great, the audience was great and the venue was outstanding. Sign me up for next year in Napa! It’s beautiful and quiet at Vail Cascade this morning. As I stepped outside, I’m pretty sure I saw SAML scurrying away into the trees. This is [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cloudidentitysummit.com/" target="_blank"><img class="alignleft size-full wp-image-2601" style="margin: 10px;" title="Francois Lascelles at Cloud Identity Summit" src="http://www.layer7tech.com/blogs/wp-content/uploads/2012/07/Francois-Lascelles-at-Cloud-Identity-Summit.jpg" alt="Francois Lascelles at Cloud Identity Summit" width="263" height="300" /></a>Cloud Identity Summit was definitely worth the trip. The talks were great, the audience was great and the venue was outstanding. Sign me up for next year in Napa!</p>
<p>It’s beautiful and quiet at <a href="http://www.vailcascade.com/" target="_blank">Vail Cascade</a> this morning. As I stepped outside, I’m pretty sure I saw SAML scurrying away into the trees. This is weird given this week’s proclamations that SAML was dead. Although we won&#8217;t be rid of SAML anytime soon, I do look forward to enterprise adoption of the new kid on the block: <a href="http://www.layer7tech.com/tutorials/openid-connect" target="_blank">OpenID Connect</a>. Easier federation, <a href="http://www.layer7tech.com/blogs/index.php/mobile-friendly-federated-identity-part-2-openid-connect/" target="_blank">OpenID Connect-style</a> is already common for consumer identity providers; enterprise identity providers should take note and follow suit. As a vendor of API Management infrastructure, it’s up to us to enable the enterprise to better reach out to its target audience. I see <a href="http://www.businesswire.com/news/home/20120716005274/en/Layer-7-Demonstrate-OpenID-Connect-Implementation-Cloud" target="_blank">support for OpenID Connect</a> as a key component in achieving this today.</p>
<p>My favorite proclamation of the week goes to Patrick Harding who declared in his talk titled “The Platformication of the Enterprise is Upon us Again and They Forgot Security (Again)” that API tokens are going to be “the currency of the API economy”. <a href="http://www.layer7tech.com/blogs/index.php/oauth-token-management-2/" target="_blank">The management of tokens and their lifecycle</a> is indeed a crucial component of API Management. Consider the case of a mobile application consuming an enterprise API using an OAuth token. Such tokens are associated with the API provider, the user (subscriber), the mobile application and the mobile device. Each live token is potentially associated with multiple parties and one of the challenges of API token management is to enable control of the right tokens by the right parties.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.layer7tech.com/blogs/index.php/returning-from-cis2012-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mobile-Friendly Federated Identity: Part 2 &#8211; OpenID Connect</title>
		<link>http://www.layer7tech.com/blogs/index.php/mobile-friendly-federated-identity-part-2-openid-connect/</link>
		<comments>http://www.layer7tech.com/blogs/index.php/mobile-friendly-federated-identity-part-2-openid-connect/#comments</comments>
		<pubDate>Fri, 22 Jun 2012 00:00:11 +0000</pubDate>
		<dc:creator>Francois Lascelles</dc:creator>
				<category><![CDATA[Identity]]></category>
		<category><![CDATA[Mobile Access]]></category>
		<category><![CDATA[OAuth]]></category>

		<guid isPermaLink="false">http://www.layer7tech.com/blogs/?p=2385</guid>
		<description><![CDATA[The idea of delegating the authentication of a user to a third-party is ancient. At some point however, a clever (or maybe lazy) developer thought to leverage an OAuth handshake to achieve this. In the first part of this blog post, I pointed out winning patterns associated with the popular social login trend. In this [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://openid.net/connect/" target="_blank"><img class="alignleft size-medium wp-image-2414" style="margin: 10px;" title="openid_connect" src="http://www.layer7tech.com/blogs/wp-content/uploads/2012/06/openid_connect-300x63.png" alt="" width="300" height="63" /></a>The idea of delegating the authentication of a user to a third-party is ancient. At some point however, a clever (or maybe lazy) developer thought to leverage an OAuth handshake to achieve this. In the <a href="http://www.layer7tech.com/blogs/index.php/mobile-friendly-federated-identity-part-1-the-social-login-legacy/" target="_blank">first part</a> of this blog post, I pointed out winning patterns associated with the popular social login trend. In this second part, I suggest the use of specific standards to achieve the same for your identities.</p>
<p>OAuth was originally conceived as a protocol allowing an application to consume an API on behalf of a user. As part of an OAuth handshake, the API provider authenticates the user. The outcome of the handshake is the application getting an access token. This access token does not directly provide useful information for the application to identify the user. However, when the provider exposes an API that returns information about the user, the application can use this as a means to close the loop on the delegated authentication.</p>
<p><a href="http://flascelles.files.wordpress.com/2012/06/handshake1.png" target="_blank"><img class="alignnone size-full wp-image-382" style="margin-top: 10px; margin-bottom: 0px;" src="http://flascelles.files.wordpress.com/2012/06/handshake1.png" alt="" width="450" height="265" /></a></p>
<p><em>Step 1 – User is subjected to an OAuth handshake with provider knowing its identity</em></p>
<p><a href="http://flascelles.files.wordpress.com/2012/06/getuserinfo.png" target="_blank"><img class="alignnone size-full wp-image-382" style="margin-top: 10px; margin-bottom: 0px;" src="http://flascelles.files.wordpress.com/2012/06/getuserinfo.png" alt="" width="450" height="265" /></a></p>
<p><em>Step 2 – Application uses the access token to discover information about the user by calling an API</em></p>
<p>As a provider enabling an application to discover the identity of a user through such a sequence, you could define your own simple API. Luckily, an emerging standard covers such semantics: <a href="http://openid.net/connect/" target="_blank">OpenID Connect</a>. Currently a draft spec, OpenID Connect defines (among other things) a “user info” endpoint that takes an OAuth access token as its input and returns a simple JSON structure containing attributes about the user, authenticated as part of the OAuth handshake.</p>
<p>Request:<br />
<em> GET /userinfo?schema=openid HTTP/1.1</em><br />
<em> Host: server.example.com</em><br />
<em> Authorization: Bearer SlAV32hkKG</em></p>
<p>Response:<br />
<em>200 OK</em><br />
<em> content-type: application/json</em><br />
<em> {</em><br />
<em> “user_id”: “248289761001″,</em><br />
<em> “name”: “Jane Doe”,</em><br />
<em> “given_name”: “Jane”,</em><br />
<em> “family_name”: “Doe”,</em><br />
<em> “email”: “janedoe@example.com”,</em><br />
<em> “picture”: “http://example.com/janedoe.jpg”</em><br />
<em> }</em></p>
<p>In Layer 7&#8242;s <a href="http://www.layer7tech.com/products/mobile-access-gateway" target="_blank">SecureSpan Mobile Access Gateway</a> OpenID Connect implementation, a generic user info endpoint is provided, which validates an incoming OAuth access token and returns user attributes for the user associated with said token. You can plug in your own identity attributes as part of this user info endpoint implementation. For example, if you are managing identities using an LDAP provider, you inject an LDAP query in the policy, as illustrated below.</p>
<p><a href="http://flascelles.files.wordpress.com/2012/06/getuserattributes.png" target="_blank"><img class="alignnone size-full wp-image-382" style="margin-top: 10px; margin-bottom: 10px;" src="http://flascelles.files.wordpress.com/2012/06/getuserattributes.png" alt="" width="450" height="265" /></a></p>
<p>To get the right LDAP record, the query is configured to take the variable <em>${session.subscriber_id}</em> as its input. This variable is automatically set by the <a href="http://www.layer7tech.com/products/oauth-toolkit" target="_blank">Layer 7 OAuth Toolkit</a> as part of the OAuth access token validation. You could easily look up the appropriate identity attributes from a different source using, for example, a SQL query or even an API call – all the input necessary to discover these attributes is available to the manager.</p>
<p>Another aspect of OpenID Connect is the issuing of ID tokens during the OAuth handshake. This ID token is structured following the<a href="http://tools.ietf.org/html/draft-ietf-oauth-json-web-token-00" target="_blank"> JSON Web Token specification (JWT)</a>, including JWS signatures. Layer 7’s OpenID Connect introduces the following assertions to issue and handle JWT-based ID tokens:</p>
<ul>
<li>Generate ID Token</li>
<li>Decode ID Token</li>
</ul>
<p><a href="http://flascelles.files.wordpress.com/2012/06/generateidtoken.png" target="_blank"><img class="alignnone size-full wp-image-382" style="margin-top: 10px; margin-bottom: 10px;" src="http://flascelles.files.wordpress.com/2012/06/generateidtoken.png" alt="" width="450" height="265" /></a></p>
<p>Note that, at the time of writing, OpenID Connect is a moving target and the specification is subject to change before finalization.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.layer7tech.com/blogs/index.php/mobile-friendly-federated-identity-part-2-openid-connect/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mobile-Friendly Federated Identity: Part 1 &#8211; The Social Login Legacy</title>
		<link>http://www.layer7tech.com/blogs/index.php/mobile-friendly-federated-identity-part-1-the-social-login-legacy/</link>
		<comments>http://www.layer7tech.com/blogs/index.php/mobile-friendly-federated-identity-part-1-the-social-login-legacy/#comments</comments>
		<pubDate>Tue, 12 Jun 2012 18:00:57 +0000</pubDate>
		<dc:creator>Francois Lascelles</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[Identity]]></category>
		<category><![CDATA[Mobile Access]]></category>
		<category><![CDATA[OAuth]]></category>

		<guid isPermaLink="false">http://www.layer7tech.com/blogs/?p=2275</guid>
		<description><![CDATA[If I were to measure the success of a federated identity system, I would consider the following factors: End user experience How easy it is for a relying party to participate How well it meets security requirements I get easily frustrated when subjected to bad user experience regarding user login and Single Sign-On but I [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.layer7tech.com/library/product-data-sheets/securespan-mobile-access-gateway/2510" target="_blank"><img class="alignleft size-full wp-image-2279" style="margin: 10px 30px;" title="Mobile Identity Header" src="http://www.layer7tech.com/blogs/wp-content/uploads/2012/06/Mobile-Identity-Header.jpg" alt="Mobile Identity" width="210" height="300" /></a>If I were to measure the success of a federated identity system, I would consider the following factors:</p>
<ul>
<li>End user experience</li>
<li>How easy it is for a relying party to participate</li>
<li>How well it meets security requirements</li>
</ul>
<p>I get easily frustrated when subjected to bad user experience regarding user login and Single Sign-On but I also recognize apps that get this right. In this first part of a series on the topic of mobile-friendly federated identity, I would like to identify winning patterns associated with the social login trend.</p>
<p>My friend Martin recently introduced me to a mobile app called Strava, which tracks bike and run workouts. You start the app at the beginning of the workout and it captures GPS data along the way – distance, speed, elevation etc. Getting this app working on my smartphone was the easiest thing ever &#8211; download, start the app, login with Facebook, ready to go. The login part was flawless &#8211; I tapped the <em>Login with Facebook</em> button and was redirected to the native Facebook app on my smartphone, from which I was able to express consent.</p>
<p>This neat OAuth-ish handshake only required three taps of my thumb. If I had been redirected through a mobile browser, I would have had to type in email address and password. By the way, I don’t even know that password, it’s hidden in some encrypted file on my laptop somewhere, so at this point I move on to something else and that’s the end of the app for me. Starting such handshakes by redirecting the user through the native app is the right choice in the case of a native app relying on a social provider that also has its own native app.</p>
<p><a href="http://www.layer7tech.com/blogs/wp-content/uploads/2012/06/Mobile-Identity-Figure-1.jpg" target="_blank"><img class="alignleft size-full wp-image-2283" title="Mobile Identity Figure 1" src="http://www.layer7tech.com/blogs/wp-content/uploads/2012/06/Mobile-Identity-Figure-1.jpg" alt="Mobile Identity Figure 1" width="600" height="323" /></a> <em>Figure 1 – Create account by expressing consent on social provider native app</em></p>
<p>At this point, my social identity is associated to the session that the Strava app has with the Strava API. Effectively, I have a Strava account without needing to establish a shared secret with this service. This is the part where federated identity comes in. Strava does not need to manage a shared secret with me and does not lose anything in federating my identity to a social provider. It still lets me create a profile on their service and saves data associated to me.</p>
<p>When I came home from my ride, I was able to get nice graphs and stats and once I accepted the fact that I have become old, fat and slow, decided to check <a href="http://www.strava.com" target="_blank">strava.com</a> on my laptop. Again, a friendly social login button enabled me to login in a flash and I could see the same information with a richer GUI. Of course, on my laptop, I do have a session with my social provider on the same browser, so this works great. The same service accessed from multiple devices, each redirecting me to authenticate in the appropriate way for the device in use.</p>
<p>Now that we’ve established how fantastic the login user experience is, what about the effort needed on the relying party? Strava has to register an app on Facebook. Once this is in place, a Strava app simply takes the user through the handshake and retrieves information about that user once the handshake is complete. In the case of Facebook on an iOS device, the instructions on how to do this are available <a href="https://developers.facebook.com/docs/mobile/ios/build/#implementsso" target="_blank">here</a>. Even without a client library, all that would be required would be to implement an OAuth handshake and call an API with the resulting token, to discover information about the user. There is no XML, there is no SAML, no digital signatures and other things that would cause mobile developers to cringe.</p>
<p>Although a good user experience is critical to the adoption of an app, the reasons for Strava to leverage the social network for login go beyond simplifying user login. Strava also happens to rely on the social network to let users post their exploits. This in turn enhances visibility for the app and drives adoption, as other users of the same social network discover Strava through these posts.</p>
<p>Although social login is not just about federated authentication, it creates expectations as to how federated authentication should function and what should be required to implement it. These expectations are not just from end users but also from a new breed of application developers who rely on lightweight, mobile-friendly mechanisms.</p>
<p>In the second part of this series, I will illustrate how you can cater to such expectations and implement the same patterns for your own identities, using standards like OAuth and OpenID Connect with the <a href="http://www.layer7tech.com/library/product-data-sheets/securespan-mobile-access-gateway/2510" target="_blank">Layer 7 Gateway</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.layer7tech.com/blogs/index.php/mobile-friendly-federated-identity-part-1-the-social-login-legacy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Forrester, ProgrammableWeb &amp; Swagger: Upcoming Webinars</title>
		<link>http://www.layer7tech.com/blogs/index.php/forrester-programmableweb-swagger-upcoming-webinars/</link>
		<comments>http://www.layer7tech.com/blogs/index.php/forrester-programmableweb-swagger-upcoming-webinars/#comments</comments>
		<pubDate>Thu, 24 May 2012 23:40:08 +0000</pubDate>
		<dc:creator>Sam Macklin</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[API Management]]></category>
		<category><![CDATA[Developers & Development]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Forrester]]></category>
		<category><![CDATA[Identity]]></category>
		<category><![CDATA[Tech Talk Tuesday]]></category>
		<category><![CDATA[Webinars]]></category>

		<guid isPermaLink="false">http://www.layer7tech.com/blogs/?p=2108</guid>
		<description><![CDATA[These are eventful times for Layer 7, with staff-members appearing at trade shows across North America and Europe. Notably, our CTO Scott Morrison has been undertaking what he’s termed his APIs, Cloud &#38; Identity Tour. Somehow, Scott is also finding time to take part in a couple of the company’s upcoming Web seminars. On May [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.layer7tech.com/events" target="_blank"><img class="alignleft size-full wp-image-2109" style="margin: 5px;" title="Layer 7 Webinars and Tech Talks" src="http://www.layer7tech.com/blogs/wp-content/uploads/2012/05/Layer-7-webinars-tech-talks-v2.jpg" alt="Layer 7 Webinars and Tech Talks" width="300" height="285" /></a>These are eventful times for Layer 7, with staff-members appearing at trade shows across North America and Europe. Notably, our CTO Scott Morrison has been undertaking what he’s termed his <a href="http://www.layer7tech.com/blogs/index.php/apis-cloud-identity-tour-2012-three-cities-two-talks-two-panels-a-catalyst/" target="_blank"><em>APIs, Cloud &amp; Identity Tour</em></a>. Somehow, Scott is also finding time to take part in a couple of the company’s upcoming Web seminars.</p>
<p>On May 29, he’ll be presenting our latest Tech Talk Tuesday meet-up, titled <em>Swagger, WADL &amp; API ‘Scriptions</em>. This interactive session will take a look at the relative merits of different standards for creating formalized, machine-interpretable API descriptions. For full details on how to view and join in with this event, <a href="http://www.layer7tech.com/tech-talk-tuesday" target="_blank">visit the Tech talk Tuesday page</a>.</p>
<p>The following day, Scott will be reprising the recent webinar <em>Identity, Access &amp; Privacy for the New Hybrid Enterprise</em>, featuring Eve Maler of Forrester Research, Inc. This is a special live presentation for the Asia/Pacific region (at 11am Sydney time/9am Singapore time). For more information, <a href="http://www.layer7tech.com/trial/webinar_register.php?leadid=L7ForIAP2" target="_blank">take a look at the webinar registration page</a>.</p>
<p>Scott gets a break when Product Manager Dana Crane takes over webinar duty on June 5 for <em>Getting Your API Discovered: The Secret to API Promotion</em>, featuring ProgrammableWeb Founder John Musser. This session will explore a range of best practices for building a community of API developers. Registration is open now and you can <a href="http://www.layer7tech.com/trial/webinar_register.php?leadid=L7ProAPI" target="_blank">click here to sign up</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.layer7tech.com/blogs/index.php/forrester-programmableweb-swagger-upcoming-webinars/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
