代码之家  ›  专栏  ›  技术社区  ›  TruMan1

如何使用OAuth处理多个帐户?

  •  3
  • TruMan1  · 技术社区  · 14 年前

    我有一个应用程序,它通过存储一系列用户名和密码发布到多个Twitter帐户。最近,Twitter更新了他们的API,所以我必须使用OAuth进行身份验证,而不是存储凭证。如何让用户在一个进程中验证多个Twitter帐户?

    例如,我有一个带有提交按钮的文本框。当用户单击提交按钮时,我希望文本框值发布到用户1、用户2和用户3的Twitter帐户。这意味着他们必须同时登录到3个帐户才能进行此单点操作,对吗?这怎么可能?

    PS——我也在为Facebook做这件事,并且是同一个API/OAuth概念,这也是为什么我将它标记为Facebook API的原因。

    2 回复  |  直到 13 年前
        1
  •  1
  •   Sripathi Krishnan    14 年前

    用户不必同时登录3个帐户,但他必须使用不同的帐户对你的应用程序进行三次授权。

    Twitter's OAuth FAQ -访问令牌没有过期。一旦用户授权了你的应用程序,你就将访问令牌存储在你的数据库中。然后您只需重复整个过程并存储下一个访问令牌。

    在Facebook上,代币是短期的,但是你可以请求 extended permission "offline_access" . 这将允许你大致实现与Twitter相同的目标。

        2
  •  3
  •   Art Geigel    13 年前

    我遇到的问题是,我可以成功地对我需要的3个社交网络(FB、Twitter和Dropbox)进行一次OAuth,但是当我尝试允许我的用户对这些网络中的任何一个进行OAuth另一个帐户时,给定的社交网络已经登录,并且没有为用户输入用户名/密码以授权给定的AC提供另一个对话框。伯爵。

    HootSuite允许您轻松地为一个给定的社交网络添加多个帐户,每次尝试添加一个新帐户时,它似乎成功地“忘记”了您以前为授予该访问权限而登录的帐户。例如,我可以在Hootsuite中连续输入三个Twitter连接,而不必遇到我上面提到的问题。

    有什么建议吗?有没有办法让社交网络知道我只想授权,但不一定要在OAuth过程中登录?

    谢谢!

    AG3