gpt4 book ai didi

android - 在 PhoneGap 应用程序上对我的 node.js 服务器执行授权(通过 facebook)REST 请求

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:39:36 26 4
gpt4 key购买 nike

由于这个问题是关于三种技术的,所以我想快速介绍一下它们中的每一种:

  • node.js:服务器端的 javascript(将其视为我的网络服务器)
  • PhoneGap:允许我使用 HTML/Javascript/CSS 编写 Android 应用程序的框架。
  • facebook 身份验证:使用 everyauth让我的用户使用他们的 Facebook 帐户登录

目标:我需要我的 PhoneGap 应用程序使用基于 REST 的协议(protocol)与我的服务器通信。其中许多请求可能仅在用户使用他们的 Facebook 帐户登录到我的服务器时才会发出。因此,用户需要登录,然后进入 PhoneGap 应用程序的登录状态。

问题:当我为 facebook 设置 everyauth 时,我基本上有一个 URL,例如 domain.com/auth/facebook,它将重定向到 Facebook 的登录“弹出窗口”。当用户随后接受登录时,服务器就会知道,到目前为止一切都很好。问题是

  1. 用户现在必须被重定向到某个外部 URL,而他应该简单地返回到 PhoneGap 应用程序(处于登录状态)
  2. PhoneGap 应用程序不会检索身份验证 token ,也不会检索身份验证是否成功,因为登录过程是在外部 URL domain.com/auth/facebook 中完成的,而 PhoneGap 应用程序的 HTML 存储在手机本身

问题原因:出现此问题而不出现在普通 Web 应用程序中的原因是 PhoneGap 应用程序的 HTML 文件是在手机本身存储和运行的,同时身份验证通过域.com/auth/facebook,这被认为是不同的域。

建议的方法 #1:一位 PhoneGap 用户推荐我使用这个 Android-Facebook plugin for PhoneGap .这里的问题是服务器不充当身份验证中间人。因此,用户必须将他们的身份验证 token 通知服务器,而不是服务器通知用户成功的身份验证过程和相应 token 的正常方法。这似乎是一个严重的漏洞。

我该如何解决这个问题?

最佳答案

随着ChildBrowser plug-in , PhoneGap 应用程序可以从身份验证站点监视位置变化。

我们使用这种方法将 PhoneGap 应用程序与 node.js openid module 集成在一起

关于android - 在 PhoneGap 应用程序上对我的 node.js 服务器执行授权(通过 facebook)REST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7695715/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com