在没有自己的服务器的情况下刷新访问令牌

时间:2020-05-09 16:44:06

标签: ssl https authorization spotify refresh-token

当我使用Spotify的Authorization Flow时,在检索代码后,将其发送到后端以检索访问令牌并刷新令牌。现在已经全部设置好了用户,但是当令牌过期时,我不能简单地使用刷新令牌从客户端刷新它。刷新要求您提供带有客户端ID和客户端密钥的授权标头,根据Spotify API文档,这些标头不应存在于您的应用程序中,而应位于自己的服务器上。

此流适用于长时间运行的应用程序,在这些应用程序中,用户仅授予一次权限。它提供了可以刷新的访问令牌。由于令牌交换涉及发送您的秘密密钥,因此请在安全的位置(例如后端服务)上执行此操作,并且不要从浏览器等客户端或移动应用程序中执行此操作。

我了解您希望通过服务器完成授权,但是为什么也应该通过我自己的服务器进行刷新?此行为迫使我将所有与Spotify授权相关的功能通过我的服务器放置,这是不切实际的。

是否有不需要我使用服务器的解决方案?我能想象的唯一一件事就是将客户端机密发送到应用程序(因此源代码中不存在),将其保存到“加密的共享首选项”(我的应用程序是Android应用程序),并在需要时使用它。这样,用户无法获取(加密的)客户端机密,并且应用程序无需服务器即可继续工作。

有人知道解决方案还是更好的解决方案?

0 个答案:

没有答案