【问题标题】:How to Logout user from Spotify after authorization and Web API call is over授权和 Web API 调用结束后如何从 Spotify 注销用户
【发布时间】:2014-08-16 00:04:32
【问题描述】:

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

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

可以做什么。请帮忙。

【问题讨论】:

    标签: spotify asp.net-web-api


    【解决方案1】:

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

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

    这适用于“授权代码”和“隐式授予”流程。您可以阅读Spotify Web API Authorization Guide 上有关show_dialog 参数的文档。

    【讨论】:

      【解决方案2】:

      您想简单地从 "spotify web api" 注销,那么您应该通过清除 身份验证令牌 来终止您的 spotify 会话,例如:

      AuthenticationClient.clearCookies(getApplication());
      

      【讨论】:

      • 这里引用的AuthorizationClient 是什么?或getApplication()。没有太多的上下文。
      • 同意,没有上下文。您也无法清除不属于您的 cookie。
      【解决方案3】:

      除了 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 主页,恕我直言。

      【讨论】:

        【解决方案4】:

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

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

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

        【讨论】:

          猜你喜欢
          • 2018-05-21
          • 2018-08-12
          • 1970-01-01
          • 2011-10-14
          • 2019-05-22
          • 2022-06-19
          • 2021-09-22
          • 2017-11-09
          • 1970-01-01
          相关资源
          最近更新 更多