我正在构建一个原型来证明从Spotify中获取用户播放列表等。 由于这是用户信息,我使用Spotify的授权代码工作流程(请参阅installation instructions)
在此工作流程中,应用程序请求用户授予范围特权,以便可以提取相关信息。 在接下来的一系列电话中:
致电/授权 回调请求中发送的redirect_uri并发送代码 例如 redirect_uri = .. / abc收到../ abc / callback?code = xyz
如文档中所示。
然后将xyz发送到/ api / token以获取access_token和refresh_token
在用户提供资助后,有什么办法可以避免重复调用/授权吗?
实际上,我是否可以像处理oauth令牌一样处理代码(来自/授权)并保留它(比如在数据库中)以在每次需要时获取新的access_token? (作为直接比较检查facebook的oauth令牌,可以保存并重复用于下次验证)
我怎么能记得用户已经授权我访问他/她的Spotify个人资料和数据?
请说明我是否遗漏了文档中显而易见的内容。如果在其他地方指定了,请指出我。
非常感谢!答案 0 :(得分:1)
对于此用例,您可以使用Authorization Code flow。你应该坚持的是它返回的refresh_token
,它可以用来获取访问令牌。您还可以选择保留访问令牌,您可以在一小时内使用该令牌,因此您不需要每次都获取新的访问令牌。
Authorization Guide中有一个常见问题解答,讨论类似的情况,用户希望管理她的播放列表,而不必每次都经过登录过程:
您基本上需要为您的用户帐户发放访问令牌和刷新令牌。要获得一对访问令牌/刷新令牌,您需要遵循授权代码流(如果您需要批准某个范围)或客户端凭据(如果您只需要签署您的请求,例如在获取某个播放列表时)。获得它们后,您可以使用访问令牌并在其到期时刷新它,而无需显示任何登录表单。