使用iOS在Google App Engine上实现Facebook OAuth

5
我仍然很难找到有关在Google应用引擎上使用OAuth 2 Facebook验证本机iOS应用程序的任何教程。我意识到我可能需要在GAE上使用代理(就像这里:Authenticate with Google App Engine from an Iphone Native Client)来创建与Facebook的会话,但是如何用原生Facebook UI进行SSO的最清晰的方法是什么?
我猜我会使用Facebook iOS Auth教程中的类似内容:http://developers.facebook.com/docs/tutorials/ios-sdk-tutorial/authenticate/ 但是,我该如何将会话提供给我的GAE服务器,并在客户端设备上缓存会话,以便可以对我的服务器进行身份验证的https请求?基本上,我想在GAE上使用simple-auth,并使我的iOS应用程序像一个本地(Web)客户端一样运行(但不使用UIWebViews)。没有简单的方法来实现这个吗?
顺便说一下,我在Google应用引擎上使用Python。我发现了这个Java版本的东西,但是我真的不知道它做了什么,因为文档还没有编写:http://www.lean-engine.com/index.html 类似的未解答问题:https://stackoverflow.com/questions/14878727/oauth-from-native-ios-app-with-oauth-from-facebook 编辑:我基本上想要一个与Draw Something和其他Zynga游戏类似的登录方式,允许用户简单地使用其本机Facebook / iOS6身份验证来验证对我的服务器的API调用。
编辑2:找到了这篇有信息量的文章,但仍然没有关于如何实现它的教程:Design for Facebook authentication in an iOS app that also accesses a secured web service

我是否应该使用类似GTMOAuth2的东西来验证对我的服务器的请求,并在GAE上使用simple-auth?我只是有点困惑于所有不同的身份验证过程。 - Evan Layman
1个回答

0

基本上我所做的是在后端实现gae-sessions https://github.com/dound/gae-sessions/wiki

然后我在前端实现了Facebook iOS SDK身份验证。

接下来,我将access_token发送到GAE,在那里我会进行一个Facebook Graph API调用/me,并创建一个包含有关用户和设备信息的会话,并确保请求来自我的iOS应用程序。

然后,在随后的请求中,我验证会话中的用户与尝试访问数据的用户相同,并且该调用也来自我的iOS应用程序。

如果有人对使其更安全有任何指针,请随时发表评论或回答。


我正在考虑使用Go来完成同样的事情:iOS应用程序,Facebook登录和在GAE上的Web服务。今天最好的实现方式是什么?谢谢! - murrekatt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接