如何获得一个访问 token/refresh 令牌以无限期使用 (oauth2 - Spotify API)
How to get one access token/refresh token for indefinite use (oauth2 - Spotify API)
我正在开发一个只会使用一个 Spotify 帐户的应用程序,而且我不太了解刷新令牌(使用 oauth2)。理想情况下,我只想使用 Spotify API 控制台来接收访问令牌和刷新令牌,我可以永远使用它,而不必在应用程序处于 运行 时再次担心授权。如果我有一个刷新令牌,我是否可以永远使用该刷新令牌,或者我是否需要在我想访问 API 时不断地使用该刷新令牌获取一个新令牌?
TLDR:您不需要为每次调用都刷新访问密钥,但如果访问密钥过期,您必须刷新它。
刷新令牌是 OAuth2 流程的一部分。访问密钥寿命短且会过期,而刷新令牌寿命长。当您的访问令牌过期时,您可以将刷新令牌与您的客户端密码一起使用以获取新的访问令牌。这是一项安全措施。万一您的访问令牌泄露,没有刷新令牌和客户端密码只是短暂的。如果您的刷新令牌泄露,您可以将其列入黑名单。
如果您不访问私人数据,则有一些例外情况。 Spotify authorization guide 有一个 Client Credentials 流程,不需要刷新,但它可以访问的数据类型也受到限制。
我正在开发一个只会使用一个 Spotify 帐户的应用程序,而且我不太了解刷新令牌(使用 oauth2)。理想情况下,我只想使用 Spotify API 控制台来接收访问令牌和刷新令牌,我可以永远使用它,而不必在应用程序处于 运行 时再次担心授权。如果我有一个刷新令牌,我是否可以永远使用该刷新令牌,或者我是否需要在我想访问 API 时不断地使用该刷新令牌获取一个新令牌?
TLDR:您不需要为每次调用都刷新访问密钥,但如果访问密钥过期,您必须刷新它。
刷新令牌是 OAuth2 流程的一部分。访问密钥寿命短且会过期,而刷新令牌寿命长。当您的访问令牌过期时,您可以将刷新令牌与您的客户端密码一起使用以获取新的访问令牌。这是一项安全措施。万一您的访问令牌泄露,没有刷新令牌和客户端密码只是短暂的。如果您的刷新令牌泄露,您可以将其列入黑名单。
如果您不访问私人数据,则有一些例外情况。 Spotify authorization guide 有一个 Client Credentials 流程,不需要刷新,但它可以访问的数据类型也受到限制。