我将前端和后端应用程序上传到 Heroku,但无法使用 jwt()
Posted
技术标签:
【中文标题】我将前端和后端应用程序上传到 Heroku,但无法使用 jwt()【英文标题】:I uploaded my frontend and backend app to Heroku but I cannot use jwt() 【发布时间】:2019-11-01 16:11:26 【问题描述】:我将我的 nodejs 后端和 angular 前端项目上传到 heroku,为了让它工作,我不得不删除 app.use(jwt());为了使部署工作。问题是我希望在应用程序中使用 jwt。删除后,我收到以下消息
"message":"Invalid Token"
我认为这是因为后端要求静态文件具有 jwt 令牌。如何在不破坏 heroku 上的应用程序的情况下添加 jwt。代码可以在这里找到 app with combined frontend and backend not deploying to Heroku
该代码的唯一区别是我在注释中添加了 get 路由并注释掉了 app.use(jwt());
【问题讨论】:
在部署中使用 app.use(jwt()) 时的错误消息是什么?您使用的是什么版本的 node、express、angular、jwt 包等?可能是过时的软件包,在这种情况下,您需要更新到当前版本。这可能是由于已实现的高安全漏洞造成的。 @pbordeaux 我没有收到错误,我收到以下消息 "message":"Invalid Token"。我认为它拒绝了前端访问,因为它没有 jwt 而不是导航到登录屏幕。 node 版本 v10.9.0,npm 版本 6.9.0,Express 版本 4.17.0,jwt 版本 5.3.1,angular 版本 7.3.7。 好久没做express/node了,是不是没有指定失败重定向?似乎在包含身份验证之前没有提供您的应用程序,可能吗?抱歉,我对此有点不习惯 【参考方案1】:通过添加 app.use(express.static(__dirname + '/dist/app-name')); 解决了这个问题在 app.use(jwt());
之前【讨论】:
以上是关于我将前端和后端应用程序上传到 Heroku,但无法使用 jwt()的主要内容,如果未能解决你的问题,请参考以下文章
两个独立的 Heroku(Node 后端和 React 前端)之间的通信?