使用 Web 的无浏览器身份验证 API

Browserless Authentication using the Web API

我正在尝试使用 Web api 在桌面应用程序中对用户进行身份验证。我没有使用浏览器,而是直接使用 GET 和 PUSH 调用 Spotify 服务器的端点。马上我运行陷入了一些问题。似乎在对 "accounts.spotify.com" 的初始 GET 命令时,返回的响应包括 HTML 和一个 javascript 函数,该函数运行并负责动态生成您在初始登录页面。如果您查看 Javascript 函数,很明显这就是正在发生的事情,但是,您还可以看到这段代码被混淆了,并不打算供我们开发人员使用! (Link到Javascript代码参考:Javascript function

所以我的问题是,虽然我可能可以对代码进行逆向工程以使其正常工作,但这会违反 Spotify 开发人员服务条款吗?

谢谢!

Spotify 的身份验证是通过 oauth 进行的,根据 oauth rfc,用户身份验证的很大一部分是用户将权限委托给您的应用以执行影响其帐户的 API 调用,或者return 关于他们的信息。这就是您看到的网页 - 它必须呈现给您的用户,以便他们可以委派权限,以便 Spotify 可以为您的应用程序提供访问令牌。它不一定需要在浏览器中发生 - 它可以在桌面应用程序内的 Web 视图中发生 - 但它确实需要通过 https 加载,并且你的应用程序不得更改或反向工程 Spotify 权限委派页面。

如您所料,对任何 Spotify API 进行逆向工程均违反服务条款。

有关 Spotify 平台授权的更多信息,我建议您查看 this guide

希望对您有所帮助!如果您还有其他问题,请联系我。

Spotify 开发者支持