3

Express-gateway 有自己的消费者管理系统和用于管理用户创建、更新等的 Admin Api。

根据文档,Admin Api 仅供内部使用,不鼓励公开公开。如果是这样的话,那么一个以 express-gateway 作为其微服务 api 网关的网站注册页面是如何创建用户的呢?

创建一个用户然后登录并授权使用 APIs 的请求/响应序列是什么,例如,这个序列就足够了吗?

  • 作为消费者的应用程序使用 Post /user 和标头授权创建用户:apiKey <app_key:app_secret>

  • Api 使用 JWT 令牌响应创建的用户,然后在后续请求中使用该令牌

  • 用户作为消费者请求它具有范围的任何公开端点,标头 Authorization: Bearer <user_jwt_token>

将用户添加到消费者管理系统后,这些用户如何对应存储在微服务数据库中的数据?是否有推荐的方法来实现这一点,例如,每个微服务数据库都有一个用户表,其中包含一个主 id 列和另一个列来存储由例如消费者管理系统生成的用户 id?

4

1 回答 1

1

没错,我们不建议直接向公众公开 Admin API。它只能在内部使用。

您建议的解决方案是可行的。您可以对在 Express Gateway 中创建的新使用者做出反应 — 获取其 ID 并将其用作数据库中用户的参考(Redis 具有发布/订阅机制,因此您可以在发生这种情况时轻松收到通知),或者您也可以从反面进行:一旦用户在您的网站上注册,您就可以在 Express Gateway 中创建相应的用户。

我希望这能回答你的问题!

于 2018-12-03T09:21:40.970 回答