如何在授权和Web API调用结束后从Spotify注销用户

时间:2014-06-25 12:16:39

标签: spotify asp.net-web-api

我使用Spotify Web API获取播放列表和用户跟踪列表。授权工作正常。我也得到了跟踪细节。但之后我想从spotify注销用户并允许新登录。 在用户从spotify帐户自动注销之前有一段会话时间。但是用户可能没有耐心等待这么久,并尝试使用不同的spotify帐户。

是否有任何API可以从spotify注销用户。

可以做些什么。请帮忙。

4 个答案:

答案 0 :(得分:7)

虽然使用Spotify Web API的应用程序无法将用户注销,但它可以强制在登录过程中显示权限对话框。为此,请使用show_dialog查询参数,并在调用https://accounts.spotify.com/authorize端点时将其设置为true

如果有用户已登录,则会有一个(不是你?)链接来更改用户。

这适用于'授权码'和'隐含授权'流动。您可以在Spotify Web API Authorization Guide上阅读有关show_dialog参数的文档。

答案 1 :(得分:1)

您只想从" spotify web api" 退出,然后您应该通过清除 身份验证令牌来终止您的spotify会话喜欢:

AuthenticationClient.clearCookies(getApplication());

答案 2 :(得分:1)

我使用提供的@jpoppe解决了这个问题。我不喜欢有一个弹出窗口的想法,所以我改用了iframe。

<iframe style={{display: 'none'}} src="https://spotify.com/logout"></iframe> 

我发现的一个问题是,如果用户已使用Facebook登录,则在使用Facebook登录另一个帐户时,如果单击“使用Facebook登录”按钮,他们将自动登录。我找不到解决此问题的简单方法。

答案 3 :(得分:0)

作为JoséM.Pérez的回答,如果您真的想要退出,那么通过在用户的浏览器中打开Spotify注销URL,似乎唯一可行的方法是:https://www.spotify.com/logout/

为防止CORB保护,例如可以通过使用JavaScript打开弹出窗口并在2秒后关闭它来实现:

const url = 'https://www.spotify.com/logout/'                                                                                                                                                                                                                                                                               
const spotifyLogoutWindow = window.open(url, 'Spotify Logout', 'width=700,height=500,top=40,left=40')                                                                                                
setTimeout(() => spotifyLogoutWindow.close(), 2000)

更新: 也可以使用https://accounts.spotify.com/en/logout,这将重定向到登录页面而不是Spotify主页,这是更好的恕我直言。