提问人:Andrew G. Johnson 提问时间:9/6/2013 更新时间:9/18/2013 访问量:238
我可以使用 Yahoo 的 PHP SDK 延长 oauth 会话的长度吗?
Can I extend the length of the oauth session using Yahoo's PHP SDK?
问:
所以我使用 https://github.com/yahoo/yos-social-php 而不是“php5”版本,只是因为它们坦率地说都是一团糟,而这个版本稍微不那么混乱。
问题是,一旦用户登录,登录名将在登录一小时后过期。无论用户在此期间是否积极使用该网站,他们仍然被迫每小时重新登录一次。
找不到任何关于此的文档,欢迎任何建议。
答:
2赞
stevel
9/15/2013
#1
雅虎官方开发者文档确实确认“您可以使用访问令牌一小时,直到它过期”。看:
http://developer.yahoo.com/oauth/guide/oauth-refreshaccesstoken.html
然后它继续说:“要获取新的访问令牌以供继续使用,请使用相同的过期令牌和get_token调用以提供新的访问令牌。此外,还详细介绍了如何准确调用此操作。签名本身如下所示:
https://api.login.yahoo.com/oauth/v2/get_token?oauth_nonce=ef3a091928d5491624c0ac54d697124422705091
&oauth_consumer_key=123456891011121314151617181920
&oauth_signature_method=plaintext
&oauth_signature=55d4cf6bf417023ce5dcc3b77132fb021cd13b21abcdef%26
&oauth_version=1.0
&oauth_token=AJwxz0eyXRa._q0xKlggmMSpQzYjOZyqApyhHybqPzCsDr0-
&oauth_timestamp=1204762971
&oauth_session_handle=ALKVBsl8DHR1rsAHSwTmAxYIsIGs3l31syRaA_aaF.RDs.MknmVM4P
如今,许多 OAuth 提供程序都是这样工作的,我们已经成功地将相同的技术用于 Salesforce.com 和许多其他 OAuth 提供程序。
Yahoo 库真的很旧,即使是 php5 版本在过去 3 年中也没有看到任何新的提交。不过,上面描述的方法可用于简单的 REST 调用,因此您实际上甚至可以绕过 PHP 库。
5赞
Ravi_Parmar
9/18/2013
#2
我认为 Yahoo! Social SDK - PHP 是不可能的,一年前我们也遇到了类似的问题,使用相同的 git Repo。您正在使用。
在那之后,我们使用了 GIGYA,它就像 yahoo 身份验证的魅力一样工作。 看看它是否对你也有帮助。
评论