Spotify:具有授权代码工作流程的永久身份验证

时间:2015-12-09 11:05:12

标签: spotify

我正在构建一个原型来证明从Spotify中获取用户播放列表等。 由于这是用户信息,我使用Spotify的授权代码工作流程(请参阅installation instructions

在此工作流程中,应用程序请求用户授予范围特权,以便可以提取相关信息。 在接下来的一系列电话中:

  1. 致电/授权 回调请求中发送的redirect_uri并发送代码 例如 redirect_uri = .. / abc收到../ abc / callback?code = xyz

    如文档中所示。

  2. 然后将xyz发送到/ api / token以获取access_token和refresh_token

  3. 在用户提供资助后,有什么办法可以避免重复调用/授权吗?

    实际上,我是否可以像处理oauth令牌一样处理代码(来自/授权)并保留它(比如在数据库中)以在每次需要时获取新的access_token? (作为直接比较检查facebook的oauth令牌,可以保存并重复用于下次验证)

    我怎么能记得用户已经授权我访问他/她的Spotify个人资料和数据?

    请说明我是否遗漏了文档中显而易见的内容。如果在其他地方指定了,请指出我。

    非常感谢!

1 个答案:

答案 0 :(得分:1)

对于此用例,您可以使用Authorization Code flow。你应该坚持的是它返回的refresh_token,它可以用来获取访问令牌。您还可以选择保留访问令牌,您可以在一小时内使用该令牌,因此您不需要每次都获取新的访问令牌。

Authorization Guide中有一个常见问题解答,讨论类似的情况,用户希望管理她的播放列表,而不必每次都经过登录过程:

  

您基本上需要为您的用户帐户发放访问令牌和刷新令牌。要获得一对访问令牌/刷新令牌,您需要遵循授权代码流(如果您需要批准某个范围)或客户端凭据(如果您只需要签署您的请求,例如在获取某个播放列表时)。获得它们后,您可以使用访问令牌并在其到期时刷新它,而无需显示任何登录表单。