【发布时间】:2019-12-09 22:26:54
【问题描述】:
我有2个微服务,MicroserviceA是一个核心服务,包括认证和授权 服务和其他 API 服务。 MicroserviceB 包括其他几个 API(不包括身份验证和授权) MicroserviceA 包含一些类似这样的 API:
localhost:3000/api/login (by JWT)
localhost:3000/api/postA
localhost:3000/api/getA
localhost:3000/api/deleteA
localhost:3000/api/pushA
MicroserviceB 包含一些类似这样的 API:
localhost:3001/api/postB
localhost:3001/api/getB
localhost:3001/api/deleteB
localhost:3001/api/pushB
我的前端只调用 1 个基于 url 是:http://localhost:3000,所以我喜欢这样,在 2 个微服务之间进行通信, 我正在使用 axios 从核心 MicroserviceA 调用到 MicroserviceB 所以在 MicroserviceA 中,我有以下 API:
localhost:3000/api/login (JWT)
localhost:3000/api/postA
localhost:3000/api/getA
localhost:3000/api/deleteA
localhost:3000/api/pushA
localhost:3000/api/postB (axios call)
localhost:3000/api/getB (axios call)
localhost:3000/api/deleteB (axios call)
localhost:3000/api/pushB (axios call)
但问题是当我想从 MicroserviceB 调用一些 API 时, 我必须从 MicroserviceA 调用它。有什么办法可以让前端开发 只需认证一次即可独立调用API MicroserviceA 和 MicroserviceB 无需像我这样调用两次?
【问题讨论】:
标签: node.js express jwt express-jwt jwt-auth