多个用户登录 Dropbox

Multiple users logged in Dropbox

我需要使用 Core API 将用户登录到 Dropbox。然后记住 his/her 访问令牌并允许使用另一个凭据登录(看起来像第二个 Dropbox 用户)。但是当我向 https://www.dropbox.com/1/oauth2/authorize 发出请求时,它会自动以带有第一个用户访问令牌的重定向页面结束,没有机会输入其他凭据。我知道我可以撤销第一个访问令牌,但我将无法静静地返回到第一个用户。 有谁知道可以实现吗?

您可以将 /authorize 页面的 force_reapprove 参数设置为 true 以防止自动重定向:

https://www.dropbox.com/developers/core/docs#oa2-authorize

请注意,/authorize 页面托管在 www.dropbox.com 上,因此即使设置了 force_reapprove=true,用户也将获得他们的 www.dropbox.com 会话。但是,通过设置该参数,用户可以在授权应用程序之前使用页面右上角的下拉菜单切换帐户。

如果出于某种原因这还不够,您可以尝试结束用户的 www.dropbox.com。最简单的方法是先将它们引导至 www.dropbox.com/logout。一定要让用户清楚发生了什么。

或者,如果您控制整个浏览器,例如,如果它是您应用中的嵌入式 Web 视图,您可以清除浏览器的 cookie,这将清除会话,迫使用户重新登录。