在两个单独的Express应用上验证同一JWT

时间:2018-10-26 00:02:48

标签: node.js express jwt express-jwt

我有一个运行2个不同express.js应用程序的nginx服务器。

第一个应用程序:

  • 处理主网站并拥有使用JSON Web令牌(JWT)的身份验证服务器
  • 已使用auth JWT保护了一些API路由
  • 在端口4000上运行

第二个应用:

  • 在子域上处理其他服务
  • 具有一些API路由
  • 在端口5000上运行

我正在尝试使用第一个应用程序中auth服务器的JWT保护第二个应用程序中的某些API。

为解决这个问题,到目前为止我提出了两种解决方案:

  1. 在第二个应用程序上使用相同的JWT密钥,以便我可以解码和验证JWT,这将允许我从其中读取一些数据并返回正确的响应。这会给我的应用程序增加一些复杂性,一旦更改,我总是必须同时更新两个应用程序上的密钥。
  2. 在上创建一些路线 通过检查只能从本地主机访问的第一个应用程序 如果req.connection.remoteAddress等于127.0.0.1::ffff:127.0.0.1::1。这些路由将使我能够验证JWT,但是我不确定是否可以通过某种方式欺骗远程地址,并且无法让外部人员验证其JWT。

我不想只合并两个应用程序,以使所有内容保持整洁。

我提到的2个解决方案有什么好的选择吗?如果没有的话,你们建议您解决这个问题吗?

0 个答案:

没有答案
相关问题