【问题标题】:OpenSocial authentication from external application来自外部应用程序的 OpenSocial 身份验证
【发布时间】:2011-05-24 21:09:48
【问题描述】:

我正在开发一个与power.com 原则上没有什么不同的网络项目,我试图在一个网站下统一几个不同的社交网站,允许用户在系统中注册一次,然后添加尽可能多的个人社交网络帐户(Facebook、MySpace、Orkut 等),以使他们能够在一个地方浏览各自的个人资料信息。

简单地说,我似乎无法找到一种方法来验证任意用户进入他们的社交网络帐户。

我一直在研究 OpenSocial 规范以及 OpenSocial PHP client 项目,但我似乎遗漏了一些东西,因为一切似乎都是循环依赖的。

我的第一个问题是,出于测试目的,我有一个 MySpace 消费者密钥和消费者秘密,但每当我尝试使用 MySpace 执行三足身份验证时,都没有选择以 其他人。另外,它执行外部重定向,这有点不受欢迎(作为这个最终社交网络“门户”的用户,我宁愿每次添加新帐户时都不必经历那个重定向过程)。

我如何以编程方式对任意用户进行身份验证并允许他们访问其帐户信息(最好没有外部重定向)?

其次,2-legged 身份验证需要一个userId(通常是一个任意整数)来标识要为其检索信息的任意用户。但是,当我输入 MySpace OpenSocial ID 以及给定的消费者密钥和消费者密码时,我会收到 401 Access Denied 错误。此外,为了将来使用此 ID,我似乎需要先对用户进行身份验证……但该身份验证似乎需要 ID。

我非常确信我错过了一些微不足道的东西,但我一生都无法弄清楚它是什么。非常感谢您的帮助!

【问题讨论】:

  • 我偶然发现了同样的问题 - 我是唯一一个对这种情况似乎还没有解决方案感到奇怪的人吗?

标签: php oauth opensocial myspace


【解决方案1】:

从技术上讲,这不是我的答案,但 OpenSocial 的开发人员向我提供了有关我的问题(强调我的问题)的以下信息:

3-legged OAuth 是围绕 重定向回您所在的网站 进行身份验证,并且没有 避免它的方法。 这不是最 方便的体验,但允许 用户与您共享他们的数据 网站同时保留他们的密码 私人的。 任何需要的设计 用户输入他们的 MySpace 密码 进入您网站上的表格是 被认为是反模式,应该 避免。你可能会 在弹出窗口中尝试重定向 为了让体验有点 减少对用户的震动(目前 PHP客户端并没有做到这一点 容易,但如果你跟进 opensocial-client-libraries@googlegroups.com 有人可以帮你解决 那个过程)。

关于不能 改变用户,我相信什么 MySpace 在你的情况下是 检查 MySpace cookie 和 预填充您的帐户 信息。 如果您是用户 访问该网站但未登录 MySpace,你应该得到一个完整的 用户名/登录框组合。那里 也应该是按钮或链接 某处说“我不是这个用户” 并使用其他凭据登录。

至于 2 腿,你需要 有关联的应用程序 消费者密钥/秘密安装在 您的数据的任何用户的个人资料 希望访问。 2条腿主要是 适用于以下开发人员 目前在一个社交小工具上运行 容器并希望访问社交 为他们的应用程序用户输出数据 带小工具渲染的乐队。 在此 情况下,应用服务器将 已经拥有用户的 OpenSocial ID (来自签名的 makeRequest)和 用户已经拥有该应用程序 安装在他们的 MySpace 配置文件中)。

大部分内容都已涵盖 在http://wiki.opensocial.org/index.php?title=OAuth_Use_Casesif 您想了解更多信息。

本质上,这使得在外部应用程序上使用 2-legged 身份验证变得不可能; 2-legged 被明确设计为不用于这种情况。此外,power.com 似乎确实采用了让用户提供他们实际的 Orkut/MySpace/etc 凭据的反模式,所以这就解释了这一点。

清除我的 cookie 有助于通过 MySpace 对我进行身份验证。但是,我跟进了另一个关于 Orkut 身份验证如何工作的问题,因为它似乎不支持 3-legged 身份验证。这是我收到的回复:

Orkut 有兴趣支持 这个,这样您就可以允许用户 与您分享他们的信息 将来“正确”应用。

相应的两条腿应用程序将 需要转发当前观众的 OpenSocial ID 回到你的服务器, 可能连同授权 您自己生成的令牌,以便 您可以在 orkut 上链接用户的会话 在您自己的服务器上进行会话。 老实说,它可能无法使用 足以支持独立登录 系统。

基本上,不,如果不诉诸反模式,Orkut 真的无法连接到外部应用程序(至少目前还没有)。

如果有人对此主题有任何进一步的信息,请随时分享!

【讨论】:

    【解决方案2】:

    这里也提到了模式http://sites.google.com/site/oauthgoog/2leggedoauth/2opensocialrestapi

    基本上很多混搭都想要这个功能:

    一个没有 小工具想要获得最终用户 访问他们的数据的权限 社交网络,例如 下载他们的好友列表,或获取 允许发布到他们的活动 流

    【讨论】:

      猜你喜欢
      • 2011-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-07
      • 2015-01-08
      • 2014-01-26
      • 2010-11-09
      • 2020-06-20
      相关资源
      最近更新 更多