我正在构建一个需要用户登录的后台应用程序。我有 2 个外部 API:
问题是,如果用户的会话无效,我不希望用户能够执行对 API B 的调用。因此,我在 Next(在 下)中添加了一些 API 端点pages/api,它们执行以下操作:
/login如果会话有效,则一切正常,但如果会话无效,则一切都会失败。
我努力了
res.redirect(307, '/login').end()
Run Code Online (Sandbox Code Playgroud)
和
res.writeHead(307, { Location: '/login' }).end()
Run Code Online (Sandbox Code Playgroud)
但没有成功。即使指定整个路径 ( http://localhost:3000/login),它也会失败。我不明白的是,/login如果我直接从浏览器发出请求( GET http://localhost:3000/api/data),我会成功重定向到我的页面。当我在 React 组件内使用 Axios 发出请求时,它不起作用。
知道我该如何解决这个问题吗?