Tag: 安卓

在PhoneGap应用上执行授权(通过脸书)REST请求到我的node.js服务器

由于这个问题是关于三种技术,我想快速介绍它们中的每一个: node.js:在服务器端的JavaScript(认为它是我的networking服务器) PhoneGap:允许我用HTML / Javascript / CSS编写Android应用程序的框架。 Facebook身份validation:使用everyauth让我的用户使用他们的Facebook帐户login 目标 :我需要我的PhoneGap应用程序使用基于REST的协议与我的服务器进行通信。 这些请求中的很多只能在用户使用他们的Facebook账户login到我的服务器时进行。 因此,用户需要login,然后进入PhoneGap应用程序的login状态。 问题 :当我设置facebook的everyauth我基本上有一个URL,像domain.com/auth/facebook将redirect到Facebook的login“popup”。 当用户接受login时,服务器将知道,到目前为止一切都很好。 问题是这样的 用户现在必须redirect到某个外部URL,而他应该简单地回到PhoneGap应用程序(处于login状态) PhoneGap应用程序不会检索身份validation令牌,也不会检索身份validation是否成功,因为login过程是在外部URL domain.com/auth/facebook中完成的,而PhoneGap应用程序的HTML则存储在电话本身上并从其中运行 问题的原因:出现此问题的原因不在于正常的Web应用程序,而是PhoneGap应用程序的HTML文件存储在电话本身中,并通过domain.com/auth/facebook进行身份validation成为一个不同的领域。 build议的方法#1 :PhoneGap用户build议我使用PhoneGap的Android-Facebook插件 。 这里的问题是服务器不作为authentication中间人。 因此,用户将不得不通知服务器他们的authentication令牌,而不是服务器通知用户成功的authentication过程和相应的令牌的正常方法。 这似乎是一个严重的漏洞。 我应该如何解决这个问题?