oauth_token 和 oauth_verifier 参数是不是足以用于持久 isLoggedIn?

Posted

技术标签:

【中文标题】oauth_token 和 oauth_verifier 参数是不是足以用于持久 isLoggedIn?【英文标题】:Are oauth_token and oauth_verifier sufficient parameters for persistent isLoggedIn?oauth_token 和 oauth_verifier 参数是否足以用于持久 isLoggedIn? 【发布时间】:2012-07-21 03:16:00 【问题描述】:

我是第一次学习使用 twitter API。我想建立一个网站,允许用户将消息发布到他们的 twitter、facebook 和linkedin 帐户。他们需要先通过网站的注册/认证系统进行注册,该系统与 twitter、facebook 和linkedin 无关。登录后,他们应该能够将他们的 twitter、facebook 和链接的帐户与我的网站同步。

我首先开始使用 twitter 进行开发。我在这里遵循了本教程: http://www.1stwebdesigner.com/tutorials/twitter-app-oauth-php/

身份验证后,twitter 将我发送到此 url。

http://mywebsite.com/?oauth_token=o7gIh4x8xAs1mcms6OKthLoLecL99WVbky2Gu6o4no&oauth_verifier=83Ip3jrMVDvnbIY3RXS5DH1FUZrWAHddwApnOBfm4

第一次加载此页面时,它会正确检索所有经过身份验证的用户信息。但是当我刷新页面时,所有用户信息都消失了。

我的问题是:

查询字符串参数oauth_token=o7gIh4x8xAs1mcms6OKthLoLecL99WVbky2Gu6o4no&oauth_verifier=83Ip3jrMVDvnbIY3RXS5DH1FUZrWAHddwApnOBfm4 是否只需要获得对用户推特帐户的写入权限?我可以将这些令牌存储在我的数据库中,这样就无需再次提示用户登录 Twitter 了吗?

【问题讨论】:

【参考方案1】:

您最好将oauth_token(和oauth_token_secret)保存在您的数据库中,因为您将使用它们来处理您将为经过身份验证的用户执行的所有经过身份验证的请求。至于oauth_verifier,它是一个仅在 OAuth Authentication 流程中使用的参数。因此,一旦获得最终令牌,您就可以摆脱它。

有关更多详细信息(并确保您所做的是正确的),请参阅 Twitter 开发者网站上相应的“使用 Twitter 登录”页面:https://dev.twitter.com/docs/auth/implementing-sign-twitter。

【讨论】:

以上是关于oauth_token 和 oauth_verifier 参数是不是足以用于持久 isLoggedIn?的主要内容,如果未能解决你的问题,请参考以下文章

如果我有他/她的 oauth_token,如何获取用户 access_token?

javascript 使用Casper.js从Launchpad.net获取oauth_token

laravel 的passport Oauth 认证登录请求 的 oauth_token 重置

OAuth

CSP 拒绝 API Twitter

如何使用 iOS SDK 保存 LinkedIn 访问令牌?