reactjs - 如何在反应路由器中使用回调 uri 处理身份验证
问题描述
我创建了我的第一个 react 应用程序,它使用 spotify api 来显示数据,但是我在将其部署到 netlify 或任何服务器 Te 身份验证流程时遇到问题: 1. 用户单击我的应用程序上的按钮,将他重定向到 spotify/auth 2. Spotify 身份验证检查权限和提示登录按钮,成功后将用户重定向到我的应用程序的 URL,最后使用 /localhost 3. 我使用反应路由器和切换组件来处理 /callback 路由并保存令牌和一切在 localhost 上它工作得很好,但在当 spotify 将用户发送到 /callback 时,live-server 或 netlify 出现错误
这是我设置的反应路线
它说“无法获取/回调”
<Router>
<Provider store={store}
<Switch>
<Route exact path="/" component={LoginView} />
<Route exact path="/callback" component={CallBack} />
<PrivateRoute path="/app">
<AppView />
</PrivateRoute>
</Switch>
</Provider>
</Router>
这是用户单击登录按钮时启动的功能:
handleLogin = () => {
// redirect user to spotify to authenticate them
const params = queryString.stringify({
client_id: "client_id,
response_type: "token",
redirect_uri: `${window.location.origin}/callback`,
scope: "user-top-read playlist-modify-public playlist-modify-private",
});
window.location = `https://accounts.spotify.com/authorize?${params}`;
我真的不明白为什么它会这样工作
解决方案
推荐阅读
- python - 使用数组时创建 csv/excel 文件
- swiftui - 从其他视图控制器嵌入视图时不调用 UIViewController.addChild、.didMove 等的缺点
- c++ - 如何使用 chdir 更改目录?
- javascript - 相扑选择刷新问题
- javascript - 如何将导航菜单与搜索栏和下拉选项卡对齐?
- html - 发生未处理的异常:端口 4200 已在使用中。使用“--port”指定不同的端口
- javascript - 如何通过同时执行两个异步函数接收到响应值后执行函数
- laravel - Laravel 关系给了我“?” 而不是电子邮件
- python - 从操作系统命令行调用路径上的 .py 文件
- javascript - 如何在 HTML/CSS 中添加特定于设备的变量?