2012-07-31 80 views
2

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

直到今年年初,该解决方案是使用GAE,按尼克·约翰逊的著名食谱。但是,自Google开始收费使用GAE后,这不再是可行的解决方案。 请不要推荐使用GAE

有没有人设法解决与联合登录OR的OpenID身份验证,然后在第三方(你的)Web服务器API获得授权的问题呢?

注意:OAuth将是一种直接的授权解决方案,不同之处在于它依赖与先前经过身份验证的消费者进行交互(以可信的方式),而使用(在移动设备上)验证应用程序用户时并非如此FedLogin或OpenID。如果我的应用(手机+网络服务器)对用户进行身份验证(并且存储登录名+密码 - 这正是我试图避免的),则OAuth可以正常工作,但如果Google(或FB)为您执行此操作,则不会。

+0

thanx的copydesk工作@SaDec! Ooops,我的意思是:谢谢你的拷贝工作,@SaDec。 LOL – 2012-07-31 15:51:07

+0

对不起,我不明白你的意思。我只想为每次编辑赚取2分:-D – 2012-07-31 15:53:32

+0

@SaDec我感谢你的帮助。在新闻业中,COPYDESK是在记者发表文章之前纠正语法和拼写的人。这是一项非常重要的工作。我真的很感谢你,因为我懒得大写和写“正确”。 – 2012-08-01 01:58:30

回答

2

这就是OpenID Connect一样。演示应用程序here

至于GAE,它仍然有一个自由层(28前端实例小时,足够运行24/7)的应该够你,如果你没有得到多少流量。无论如何,你这样做,你必须在某个地方运行服务器(即使它是你自己的机器),所以没有办法让它完全免费。所以是的,GAE是一个可行的选择。您可以免费开始并按需扩展。还有其他原因可以避免GAE,但'我必须(在某个时候)支付(某种东西),因此废除',这绝对是错误的心态。

+0

你是绝对正确的,不可避免地会出现费用。我的问题与谷歌产品是谷歌改变商业政策,没有事先通知。 虽然我可以估计未来5年安全服务器的成本,但如果我使用谷歌技术,我无法这样做。我不得不废弃代码w/gmaps。因此,尽管他们的产品出色,但谷歌并不是商业产品的可靠合作伙伴。像foursquare和苹果,我不会编写依赖谷歌产品来运行的代码。这是一种商业策略,而不是技术上的必要。 – 2012-08-06 23:25:24

+0

我准备在今年完全改变商业政策时使用谷歌地图推出商业产品,并使我的所有代码都无用。我很幸运,它在推出之前就已经发生了,而且我没有付费客户的商业义务。我刚刚失去了1000小时的Java编码,给予或采取。烧我一次,耻辱你 - 烧我两次,耻辱在我身上。 – 2012-08-06 23:33:16

+0

我检查了你的答案。截至目前,OpenID Connect仍处于批准的最后阶段,符合大多数作者的要求。该网站自己说它在“实施者的草案”中。建议的示例是“由GAE供电”。我投票赞成,因为OpenID Connect在不久的将来可能成为解决方案。感谢名单! – 2012-08-07 00:53:12