1

我有一个现有的 webapp,在 App Engine 上以 Python 运行,用户可以使用 Yahoo 帐户通过 open-id 登录。现在,一旦他们登录,我希望他们能够通过 OAuth 访问他们的 Yahoo 联系人。我正在通过 Yahoo Python SDK 工作,只是卡住了。

我有consumer key、c​​onsumer secret、app ID,和回调URL是同一个页面,使用离开。转到雅虎登录页面似乎工作正常,用户带着 auth_token 和 auth_verifier 回到我的网站。我该怎么处理这些?我需要为将来的请求存储哪些字符串?这些类型的请求在任何地方都有很好的示例代码吗?谢谢。

4

1 回答 1

0

您应该寻找OpenID+Oauth Hybrid protocol

OpenID+OAuth混合协议允许 Web 开发人员将 OpenID 请求与 OAuth 身份验证请求结合起来。
此扩展对于同时使用 OpenID 和 OAuth 的 Web 开发人员很有用,特别是因为它通过请求用户批准一次而不是两次来简化用户的流程。

OAuth 的目标是从 Google 获取访问令牌,然后可以使用该令牌与 Google 服务交换用户特定的数据(例如日历信息或地址簿)。常规的 OAuth 过程是一个四步序列:(1) 请求“请求”令牌,(2) 请求授权令牌,这会触发用户批准,(3) 将授权的请求令牌交换为“访问” "令牌,以及(4)使用访问令牌与用户的谷歌服务数据进行交互。有关更详细的描述,请参阅 Web 应用程序的 OAuth。

使用OpenID+OAuth,这个顺序基本上保持不变。不同之处在于,获取授权的 OAuth 请求令牌(步骤 1 和 2)包含在 OpenID 身份验证请求中。这样,用户可以同时批准登录和服务访问。

是使用 Google 的混合协议的演示和源代码 (php)

此处此处的 Yahoo 文档将 OpenID 身份验证请求与 OAuth 请求令牌的批准相结合。

于 2010-09-29T10:05:59.087 回答