ios - 带有 iOS 的 Google App Engine 上的 Facebook OAuth

标签 ios google-app-engine oauth-2.0 single-sign-on facebook-oauth

我仍然无法找到任何类型的教程,以在 Google App Engine 上使用 OAuth 2 Facebook 对 native iOS 应用程序进行身份验证。我意识到我可能需要在 GAE 上使用代理(如此处:Authenticate with Google App Engine from an Iphone Native Client)来创建与 facebook 的 session ,但是使用 native facebook UI 进行 SSO 的最干净的方法是什么?

我想我会使用 Facebook ios Auth 教程中的一些东西:http://developers.facebook.com/docs/tutorials/ios-sdk-tutorial/authenticate/

但是我该如何将 session 交给我的 GAE 服务器,并将 session 缓存在客户端设备上,以便它可以验证对我的服务器的 https 请求?我基本上想在 GAE 上使用简单例份验证,并让我的 iOS 应用程序像 native (网络)客户端一样运行(但不使用 UIWebViews)。有没有一种简单的方法可以做到这一点?

顺便说一下,我在 Google App Engine 上使用 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 调用。

EDIT2:找到这篇信息丰富的帖子,但仍然没有关于如何操作的教程 Design for Facebook authentication in an iOS app that also accesses a secured web service

最佳答案

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

然后我在前端实现了facebook ios SDK认证。

然后我将 access_token 发送到 GAE,在那里我对/me 执行 facebook 图形 API 调用并创建一个包含有关用户和设备的信息的 session ,并确保请求是从我的 ios 应用程序发出的。

然后在后续请求中,我验证 session 中的用户与尝试访问数据的用户相同,并且该调用也来 self 的 ios 应用程序。

如果有人有任何让这更安全的建议,请随时发表评论或发布答案。

关于ios - 带有 iOS 的 Google App Engine 上的 Facebook OAuth,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14997506/

相关文章:

iphone - 需要有关在 iphone 中使用亚马逊产品广告 API 的帮助

google-app-engine - amazon ec2 ECU 与 google app engine MHZ cpu 评级相比如何?

java - 在 java 中使用 Oauth 保护 Rest API

ios - 在 swift 中仅使用来自 firebase 的值返回一个键

ios - 滚动时水平 collectionView 卡住

python - 查找错误 : No installed app with label 'mobile_backend/'

google-app-engine - 为什么 webapp2 身份验证模型使用唯一表?

javascript - oauth2 重定向 url 如何用于桌面应用程序?

ruby-on-rails - 具有半私密性的 OAuth 授权码的安全性

ios - 在核心蓝牙框架中创建可写特性的问题