node.js - Heroku 上的 Node.js Web 应用程序的 Auth0 登录失败(但在 localhost 上成功)
问题描述
我在 Heroku(Node.js、Express、ClearDB、Auth0)上部署了我的 Web 应用程序。在使用 Auth0 登录方面,它可以在 localhost 上工作,但不能在线上。
- 在使用 auth0 之前,应用程序可以在本地和 Heroku 上运行。
- 根据Auth仪表板的日志,每次登录都是成功的。
因此,我假设我的应用仅在联机时无法从 Auth 租户服务器获取 tokenID。当我在线运行应用程序时,我使用以下代码并通过 console.log('!user') 获取“!user”(在 localhost 成功重定向到 /users/)
// Perform the final stage of authentication and redirect to previously requested URL or '/user'
router.get('/callback', function (req, res, next) {
passport.authenticate('auth0', function (err, user, info) {
if (err) { console.log("err1"); return next(err); }
if (!user) { console.log("!user"); return res.redirect('/login'); }
req.logIn(user, function (err) {
if (err) {console.log("err2"); return next(err);c}
const returnTo = req.session.returnTo;
delete req.session.returnTo;
res.redirect(returnTo || '/user');
});
})(req, res, next);
});
谁能告诉我如何处理这个问题。提前致谢。*这是我关于堆栈溢出的第一篇文章,我非常初学者,所以如果您需要更多信息,请告诉我,我不确定这篇文章是否足够。
Heroku 日志:
2020-07-03T16:42:56.343864+00:00 heroku[路由器]: at=info method=GET path="/callback?code=lvDWBEwvEBFg9tSX&state=YbB6XzW0tVqscx1uX8mVslj3" host=bmw6.herokuapp.com request_id=dfa50285-d359-49f3 -a046-b524d14a1a4c fwd="126.208.165.39" dyno=web.1 连接=0ms 服务=9ms 状态=302 字节=249 协议=https
2020-07-03T16:42:56.337770+00:00 应用 [web.1]: !user
2020-07-03T16:42:56.550263+00:00 heroku[路由器]: at=info method=GET path="/login" host=bmw6.herokuapp.com request_id=6dd3b3a8-5bb0-4f74-9c67-75e6f1c3a784 fwd= “126.208.165.39” dyno=web.1 连接=0ms 服务=2ms 状态=302 字节=402 协议=https
来自 Chrome 的控制台日志:
导航到https://small-darkness-1722.us.auth0.com/login? ...
端点上不允许使用以下参数/authorize
:[is_submitting,sso] VM5 lock.min.js:9
解决方案
推荐阅读
- c# - Docker:docker run 后无法在浏览器上启动 ASP.Net Core 5 Web Api
- sql - 从 SQL 输出中获取特定的单词
- python - 如何在 pandas 中添加一个列,它是基于多个条件的一行的平均值
- mongodb - cosmos DB 收集订单问题
- swift - GameKit 实时多人游戏通过 GKMatchmakerViewController 连接失败
- python-xarray - 将 xarray 重新采样到更高的空间分辨率
- javascript - Ajax 调用不将数据附加到 tfoot 元素(但在 thead 元素中正常工作)?
- javascript - 从另一个中间件获取结果返回未定义
- python - 如何“展平” Pandas 数据框?
- react-native - 视频在平面列表中加载太耗时