除了 Spotify 登录重定向路径“在服务器上找不到”之外,生产 React 应用程序正常运行 [重复]
Posted
技术标签:
【中文标题】除了 Spotify 登录重定向路径“在服务器上找不到”之外,生产 React 应用程序正常运行 [重复]【英文标题】:Production React app functioning except Spotify log-in redirect path "not found on server" [duplicate] 【发布时间】:2019-11-21 08:51:41 【问题描述】:生产 ReactJS 应用,使用 Google App Engine 集成 Spotify Web Api (https://developer.spotify.com/documentation/web-api/reference-beta/):https://widget-dashboard-app.appspot.com/
所有路由(/settings
、/about
、/contact
)都按预期工作,但是当用户尝试登录 Spotify 时,重定向路径 /settings/#access_token=[BIG-LONG-TOKEN]&token_type=Bearer&expires_in=3600
通过 GAE 导致此错误:
Error: Not Found
The requested URL /settings/ was not found on this server.
我的第一个想法是我的app.yaml
文件中有问题:
# [START runtime]
runtime: python27
api_version: 1
threadsafe: true
# [END runtime]
# [START handlers]
handlers:
- url: /
static_files: build/index.html
upload: build/index.html
- url: /
static_dir: build
- url: /.*
static_files: build/static/\1
upload: build/static/.*
- url: /settings/.*
static_files: build/static/\1
upload: build/static/.*
# [END handlers]
我已经在 Interwebs 上搜索了两周来寻找可能存在的问题。我都读过了。这。文档。
实际结果应该是:用户通过 Spotify 的 Web API 登录,并被重定向回https://widget-dashboard-app.appspot.com/settings/#access_token=[BIG-LONG-TOKEN]&token_type=Bearer&expires_in=3600
,他们的浏览器将在几秒钟内开始播放音乐。这在开发中有效。
【问题讨论】:
【参考方案1】:由于它是一个 SPA,您的路由由应用处理,因此您需要一条位于您的主要 index.html
上的包罗万象的路由。所以看起来你的通配符规则应该是这样的:
url: /.*
static_files: build/index.html
upload: build/index.html
我认为你不需要 /settings/
一个
【讨论】:
以上是关于除了 Spotify 登录重定向路径“在服务器上找不到”之外,生产 React 应用程序正常运行 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何通过点击Spotify按钮将用户重定向到播放列表而无需登录?