【问题标题】:Twitter API - LogoutTwitter API - 注销
【发布时间】:2010-12-29 23:28:09
【问题描述】:

我在我的网络应用中使用 OAuth,用户可以使用 twitter 登录。

我想添加“切换twitter帐户”按钮,它实际上是清除会话然后打开authorize_url。

由于在我的网络应用程序中清除会话不会退出 twitter,因此 authorize_url 将自动验证当前的 twitter.com 用户。这意味着我无法注销,除非我将用户发送到 twitter.com。

API 可以吗?实现这一点的最佳方法是什么?

【问题讨论】:

    标签: oauth twitter logout


    【解决方案1】:

    与 Twitter 的会话由 Twitter 拥有的 cookie 定义——您无法控制它。您不能代表他们将他们从 Twitter 中注销。

    如果您希望某人能够使用您的“切换 twitter 帐户”功能,则需要再次将其传递给 OAuth 握手,但使用 /oauth/authorize 路径而不是 /oauth/authenticate 路径。这将允许用户在握手期间在 Twitter 上切换他们的用户凭据,而不是仅仅使用他们现有的 Twitter 会话重新进行身份验证。

    或者,您可以在自己的应用程序中拥有一个单独的用户概念,从而拥有自己的用户模型,该模型与许多 Twitter 帐户相关联。这样,您可以让您的用户更顺畅地切换帐户。他们必须为他们的每个 twitter 帐户预先授权您的应用程序,但之后您将拥有他们每个 twitter 帐户的所有 oauth 密钥。

    【讨论】:

    • 谢谢!我使用 /authenticate/ 并没有真正知道其中的区别,但是通过授权它会向用户显示他们在 Twitter 上的帐户。
    • 谁能发布 bengottlieb/Twitter-OAuth-iPhone 的代码。我无法注销。
    • 如何注销 Twitter 并使用另一个帐户登录。你能放一些代码吗?
    • 我在我的应用程序中有每个帐户 twitter 的访问令牌。为了切换我的凭据,我需要做什么?
    【解决方案2】:

    您可以使用 oauth/authenticate 并按照 GET oauth/authenticate 中的指定添加 force_login=true。这将使用登录表单提示用户。

    【讨论】:

    • 效果很好,但表单仍然包含以前登录用户的用户名:(.
    • @MubasharAhmad 所以?你确定不只是浏览器自动填表吗?
    • 我使用 /session/destroy url 注销,但它似乎不再可用,并且显示空白登录表单。无论如何,我不确定它是网络控制还是推特它自己。但也许你是对的,我会检查网络浏览器控制功能以使其工作。
    【解决方案3】:

    很抱歉作为答案发表评论。 abraham 解决方案效果很好,但要清除用户名字段,您还需要在 GET 请求中添加 screen_name=

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-08
      • 1970-01-01
      • 1970-01-01
      • 2012-08-03
      • 1970-01-01
      • 2013-07-04
      • 2016-04-07
      • 2013-08-01
      相关资源
      最近更新 更多