<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: OpenID and oAuth on App Engine</title>
	<atom:link href="http://www.bubblefoundry.com/blog/2009/05/openid-and-oauth-on-app-engine/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bubblefoundry.com/blog/2009/05/openid-and-oauth-on-app-engine/</link>
	<description></description>
	<lastBuildDate>Tue, 31 Jan 2012 15:00:55 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: yucc</title>
		<link>http://www.bubblefoundry.com/blog/2009/05/openid-and-oauth-on-app-engine/comment-page-1/#comment-2301</link>
		<dc:creator>yucc</dc:creator>
		<pubDate>Mon, 24 Aug 2009 03:25:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.bubblefoundry.com/?p=208#comment-2301</guid>
		<description>There&#039;s no such method any more in the openidgae library, so I just remove such a set-up, hope things can work out for me.</description>
		<content:encoded><![CDATA[<p>There&#8217;s no such method any more in the openidgae library, so I just remove such a set-up, hope things can work out for me.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter</title>
		<link>http://www.bubblefoundry.com/blog/2009/05/openid-and-oauth-on-app-engine/comment-page-1/#comment-2247</link>
		<dc:creator>Peter</dc:creator>
		<pubDate>Thu, 20 Aug 2009 06:40:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.bubblefoundry.com/?p=208#comment-2247</guid>
		<description>It&#039;s the from the openidgae library and it needed to set everything up.</description>
		<content:encoded><![CDATA[<p>It&#8217;s the from the openidgae library and it needed to set everything up.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: yucc</title>
		<link>http://www.bubblefoundry.com/blog/2009/05/openid-and-oauth-on-app-engine/comment-page-1/#comment-2246</link>
		<dc:creator>yucc</dc:creator>
		<pubDate>Thu, 20 Aug 2009 04:59:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.bubblefoundry.com/?p=208#comment-2246</guid>
		<description>Really helps!
If I could ask what did you do by &#039;openidgae.views.initOpenId()&#039;?</description>
		<content:encoded><![CDATA[<p>Really helps!<br />
If I could ask what did you do by &#8216;openidgae.views.initOpenId()&#8217;?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter</title>
		<link>http://www.bubblefoundry.com/blog/2009/05/openid-and-oauth-on-app-engine/comment-page-1/#comment-2186</link>
		<dc:creator>Peter</dc:creator>
		<pubDate>Fri, 14 Aug 2009 20:03:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.bubblefoundry.com/?p=208#comment-2186</guid>
		<description>Yucc, I put my file here: http://gist.github.com/168067

Hope that helps.</description>
		<content:encoded><![CDATA[<p>Yucc, I put my file here: <a href="http://gist.github.com/168067" rel="nofollow">http://gist.github.com/168067</a></p>
<p>Hope that helps.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: yucc</title>
		<link>http://www.bubblefoundry.com/blog/2009/05/openid-and-oauth-on-app-engine/comment-page-1/#comment-2154</link>
		<dc:creator>yucc</dc:creator>
		<pubDate>Wed, 12 Aug 2009 02:08:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.bubblefoundry.com/?p=208#comment-2154</guid>
		<description>I guess the problem is the &quot;add the additional oAuth parameters to my OpenID request&quot; section, what exactly did you do?

BTW, what I&#039;ve done is put the following code before the return statement of openidgae.views.OpenIDFinish:
request_token = args[&#039;openid.ext2.request_token&#039;]
      signed_request_token = gdata.auth.OAuthToken(key=request_token, secret=&quot;&quot;)
      gdata_service = gdata.service.GDataService()
      gdata.service.http_request_handler = gdata.urlfetch
      from gdata.alt.appengine import run_on_appengine
      run_on_appengine(gdata_service)
      gdata_service.SetOAuthInputParameters(gdata.auth.OAuthSignatureMethod.HMAC_SHA1, settings.GOOGLE_CONSUMER_KEY, settings.GOOGLE_CONSUMER_SECRET)
      access_token = gdata_service.UpgradeToOAuthAccessToken(signed_request_token)
      person.accessToken = str(access_token)  
......</description>
		<content:encoded><![CDATA[<p>I guess the problem is the &#8220;add the additional oAuth parameters to my OpenID request&#8221; section, what exactly did you do?</p>
<p>BTW, what I&#8217;ve done is put the following code before the return statement of openidgae.views.OpenIDFinish:<br />
request_token = args['openid.ext2.request_token']<br />
      signed_request_token = gdata.auth.OAuthToken(key=request_token, secret=&#8221;")<br />
      gdata_service = gdata.service.GDataService()<br />
      gdata.service.http_request_handler = gdata.urlfetch<br />
      from gdata.alt.appengine import run_on_appengine<br />
      run_on_appengine(gdata_service)<br />
      gdata_service.SetOAuthInputParameters(gdata.auth.OAuthSignatureMethod.HMAC_SHA1, settings.GOOGLE_CONSUMER_KEY, settings.GOOGLE_CONSUMER_SECRET)<br />
      access_token = gdata_service.UpgradeToOAuthAccessToken(signed_request_token)<br />
      person.accessToken = str(access_token)<br />
&#8230;&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter</title>
		<link>http://www.bubblefoundry.com/blog/2009/05/openid-and-oauth-on-app-engine/comment-page-1/#comment-2148</link>
		<dc:creator>Peter</dc:creator>
		<pubDate>Tue, 11 Aug 2009 16:59:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.bubblefoundry.com/?p=208#comment-2148</guid>
		<description>The args dictionary is created with:
&lt;code&gt;args = openidgae.views.args_to_dict(request.GET)&lt;/code&gt;

&lt;code&gt;request.GET&lt;/code&gt; is defined by Django. This is in my &lt;code&gt;login_succeeded&lt;/code&gt; controller.</description>
		<content:encoded><![CDATA[<p>The args dictionary is created with:<br />
<code>args = openidgae.views.args_to_dict(request.GET)</code></p>
<p><code>request.GET</code> is defined by Django. This is in my <code>login_succeeded</code> controller.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: yucc</title>
		<link>http://www.bubblefoundry.com/blog/2009/05/openid-and-oauth-on-app-engine/comment-page-1/#comment-2141</link>
		<dc:creator>yucc</dc:creator>
		<pubDate>Tue, 11 Aug 2009 09:50:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.bubblefoundry.com/?p=208#comment-2141</guid>
		<description>How did you get args[&#039;openid.ext2.request_token&#039;]?</description>
		<content:encoded><![CDATA[<p>How did you get args['openid.ext2.request_token']?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: yucc</title>
		<link>http://www.bubblefoundry.com/blog/2009/05/openid-and-oauth-on-app-engine/comment-page-1/#comment-2139</link>
		<dc:creator>yucc</dc:creator>
		<pubDate>Tue, 11 Aug 2009 06:54:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.bubblefoundry.com/?p=208#comment-2139</guid>
		<description>I&#039;m trying to do the same thing.
Would you please send me a copy of where exactly the final code goes?
The change you&#039;ve made in openidgae as well as the token management.</description>
		<content:encoded><![CDATA[<p>I&#8217;m trying to do the same thing.<br />
Would you please send me a copy of where exactly the final code goes?<br />
The change you&#8217;ve made in openidgae as well as the token management.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bubble Foundry &#187; oAuth on App Engine, Part 2</title>
		<link>http://www.bubblefoundry.com/blog/2009/05/openid-and-oauth-on-app-engine/comment-page-1/#comment-1669</link>
		<dc:creator>Bubble Foundry &#187; oAuth on App Engine, Part 2</dc:creator>
		<pubDate>Sun, 24 May 2009 15:45:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.bubblefoundry.com/?p=208#comment-1669</guid>
		<description>[...] my previous post I described how to use Google&#8217;s federated login to get an oAuth access token. Now that we&#8217;ve stored our access token, we&#8217;re going to [...]</description>
		<content:encoded><![CDATA[<p>[...] my previous post I described how to use Google&#8217;s federated login to get an oAuth access token. Now that we&#8217;ve stored our access token, we&#8217;re going to [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

