spotify 的重定向 URI 无效

Posted

技术标签:

【中文标题】spotify 的重定向 URI 无效【英文标题】:Invalid redirect URI for spotify 【发布时间】:2014-10-03 10:37:50 【问题描述】:

我正在尝试让 Spotify API 与 AngularJS 一起工作。我在授权阶段收到无效的重定向 URI 错误 (https://developer.spotify.com/web-api/authorization-guide/)。

我在白名单中添加了redirect_uri,当我有一个URI时它可以工作

http://localhost:3000 

但是当我有一个带有哈希的 URI 时它不起作用

http://localhost:3000/#/main

我想使用后一个 URI 的原因是因为使用前者我得到一个 URI,但我无法通过 angular 获取参数

http://localhost:3000/<parameters returned from spotify>/#/main) 

而我希望 URI 是这样的:

http://localhost:3000/#/main/<parameters returned from spotify>

任何帮助将不胜感激,谢谢。

【问题讨论】:

对 Angular 不是很了解,但你不能在后端创建一个特定的端点来接收授权码,例如http://:3000/handle-auth/,重定向到 /#/main? 【参考方案1】:

有几种方法可以做到这一点。我建议您查看possan/webapi-player-example,它是使用 AngularJS 构建的,并使用 PostMessage 在重定向 URI (callback.html) 和 Angular 应用程序 (app.js) 之间进行通信。

如果 PostMessages 不是一个选项,你可以试试这个:

    开始循环检查localStorage 上的某个键 在弹出窗口中打开登录页面。 在回调页面中,将您从 Spotify 返回的数据写入localStorage(即access_tokenrefresh_tokenexpires_in)。 几秒钟后关闭弹出窗口 循环应该已经意识到要写入 localStorage 的新值。

前面的流程虽然有点复杂,但在 ios 设备等有时无法在回调页面和“主”页面之间正常通信的环境中运行良好。

【讨论】:

我已经尝试过了,我已经设法获得了令牌,谢谢。

以上是关于spotify 的重定向 URI 无效的主要内容,如果未能解决你的问题,请参考以下文章

发现无效的重定向 URI

Spotifyr 错误:INVALID_CLIENT:重定向 URI 无效

没有重定向 URI 的 Spotify?

PHP 中的 Spotify API 身份验证 - 重定向 URI 无效

(iOS) Spotify 重定向 URI 错误:SpotifyLogin.LoginError.invalidUrl

coinbase oauth2 重定向 uri