通过App Engine上的OAuth访问Yahoo联系人(Python)

时间:2010-09-29 00:45:32

标签: python google-app-engine oauth yahoo-oauth

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

我有消费者密钥,消费者密钥,应用程序ID和回调网址是同一页面,使用离开了。转到Yahoo登录页面似乎工作正常,用户使用auth_token和auth_verifier返回我的站点。我该怎么办?我需要为将来的请求存储哪些字符串?对于这些类型的请求,是否有适当的示例代码?感谢。

1 个答案:

答案 0 :(得分:0)

您应该寻找 OpenID + Oauth混合协议

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

  

OAuth的目标是获得一个   来自Google的访问令牌,可以   然后用于交换用户特定的   使用Google服务的数据(例如   日历信息或地址   书)。常规OAuth流程是一个   四步序列:(1)要求一个   “请求”令牌,(2)要求令牌   被授权,触发用户   批准,(3)交换授权   请求令牌“访问”令牌,   (4)使用访问令牌   与用户的Google互动   服务数据。更详细一点   说明,请参阅OAuth for Web   应用

     

使用 OpenID + OAuth ,此序列   基本上保持不变。该   得到一个不同的是   授权的OAuth请求令牌(步骤   1和2)包含在OpenID中   验证请求。通过这种方式,   用户可以批准登录和服务   同时访问。

Here使用Google进行混合协议的演示和source code (php)

雅虎文档的

Herehere将OpenID身份验证请求与OAuth请求令牌的批准相结合。