2

我有一个需要将数据上传到 API 的 Android 应用程序(然后 API 会将数据保存在 MySQL DB 中)。我想使用联合登录 (Google) 或 OpenID 身份验证程序,以便用户无需为我的应用程序注册电子邮件 + 密码,而是可以使用保存在AccountManager.

直到今年年初,解决方案还是按照尼克约翰逊的著名配方使用 GAE。但自从 Google 开始对 GAE 的使用收费后,这不再是一个可行的解决方案。 请不要推荐使用 GAE

有没有人设法解决使用联合登录或 OpenID 进行身份验证然后在第三方(您的)网络服务器 API 上获得授权的问题?

注意:OAuth 将是一种直接的授权解决方案,只是它依赖于(以受信任的方式)与先前经过身份验证的消费者交互,而当您使用 FedLogin 或 OpenID 对应用程序用户(在移动设备上)进行身份验证时,情况并非如此。如果我的应用程序(移动 + 网络服务器)对用户进行身份验证(并且我存储了登录名 + 密码——这正是我想要避免的),OAuth 就可以工作,但如果谷歌(或 FB)为你这样做就不行。

4

1 回答 1

2

这就是OpenID Connect所做的。演示应用程序在这里

至于 GAE,它仍然有一个免费套餐(28 个前端实例小时,足以 24/7 运行),如果您没有太多流量,它应该足够了。不管怎样,你必须在某个地方运行一个服务器(即使它是你自己的机器),所以没有办法让它完全免费。所以是的,GAE 是一个可行的选择。您可以免费开始并根据需要扩大规模。避免GAE还有其他原因,但“我必须(在某些时候)支付(某事),因此放弃它”,这绝对是错误的心态。

于 2012-08-06T02:57:44.497 回答