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

3
我有一个应用程序,可以通过存储用户名和密码的数组来发布到多个Twitter账户。最近,Twitter更新了他们的API,所以我必须使用OAuth进行身份验证,而不是存储凭据。在单个过程中,如何使用户对多个Twitter账户进行身份验证?
例如,我有一个带有提交按钮的文本框。当用户点击提交按钮时,我希望文本框的值发布到用户1、用户2和用户3的Twitter账户。这意味着他们必须同时登录3个账户才能使这个单击正确工作?这怎么可能?
PS —— 我也为Facebook做同样的事情,使用相同的API/OAuth概念,这就是为什么我标记它与Facebook API一起的原因。
2个回答

5
我遇到的问题是,我可以成功地对我需要的三个社交网络(FB、Twitter和Dropbox)进行一次oAuth,但当我尝试允许我的用户为这些网络中的任何一个帐户进行oAuth时,给定的社交网络已经登录,并且不会显示另一个对话框供用户输入用户名/密码来授权该给定帐户。
Hootsuite允许您轻松地为给定的社交网络添加多个帐户,并且每次尝试添加新帐户时,它似乎已经成功“忘记”了您之前授予该访问权限的登录。例如,我可以在Hootsuite中连续输入三个Twitter连接,而不会遇到上述问题。
有什么建议吗?在oAuth过程中有没有办法让社交网络知道我只想授权而不必登录?
谢谢!
AG3

3
我知道这是一篇旧帖子,但你是否找到了解决方法?我正面临着完全相同的问题!我已经成功使用了OAuth,只是无法弄清如何使用户“注销”,以便他们可以使用其他帐户重新进行身份验证。如果您有任何解决方案,我将非常感激! - royse41

1

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

请参见Twitter的OAuth FAQ - 访问令牌不会过期。一旦用户授权您的应用程序,您就将访问令牌存储在数据库中。然后,您只需重复整个过程并存储下一个访问令牌。

对于Facebook,令牌的生命周期很短,但您可以请求扩展权限“offline_access”。这将允许您大致实现与Twitter相同的功能。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接