我有一个关于使用许多微服务和Express-Gateway
. 我有 N 个微服务。其中一个微服务(我们称之为“用户配置文件”)将包含所有与用户配置文件相关的数据,例如电子邮件、用户名、注册日期、出生日期等。所以,这里有一些问题:
- 如何组织用户注册和认证?这个工作流程怎么样:
- EG 有直接暴露给外部世界的 API 端点。这些端点来自这个“用户配置文件”微服务。
- 如果用户想注册或登录,他/她会向该服务发送一个 POST 请求。此请求包含所有需要的数据。
- 为了获得一个用于所有其他请求的 JWT accessToken,这个微服务向 EG 的 Admin API 发送一个请求并创建以下内容:
- 创建用户
- 为该用户创建 jwt 凭据
- 收到 EG 的响应后,“用户配置文件”微服务根据 keyId 和 keySecret 形成 JWT 访问令牌
- 将此令牌发回给用户
- 用户现在可以在传递 Bearer accessToken 时访问所有受保护的路由
这是工作流程图。
- 我的第二个问题是——如果上面的工作流程没问题,那么每次创建用户后,都会有新创建的keySecret。我需要为
secretOrPublicKey
param 输入gateway.config.yml
什么?也许在生成 JWT accessToken 时,我需要使用某种类型的私钥,而不是keySecret
凭证创建步骤中的私钥,然后将相同的密钥放入gateway.config.yml
?