我正在寻找Kong来替换我当前的手动 NodeJS API 网关。目前,我有一个用户服务,通过在登录时提供 JWT 来处理身份验证(用 Django 编写),然后客户端通过标头传入该 JWT。然后,我当前的 API 网关拦截任何调用,对用户服务进行验证调用,并将 JWT Header 替换为X-User-Id
and X-User-Email
。
据我所知,Kong 可以做大致相同的事情。我试图弄清楚这应该如何在一个完美的世界中工作。我仍然有机会更换大部分基础设施,因此重写一些服务并非完全不可能。
因此,在我看来,会发生以下情况:
- 用户在我的网站上注册。然后我在 Kong 上使用他们的用户名/ID 创建一个新的消费者
- 用户登录。这就是我卡住的地方。我是否登录(或者在这种情况下,只是将用户验证为所述用户),向 Kong 询问该消费者的 JWT,然后返回?如果我想在 JWT 的有效负载中添加更多数据怎么办?当 JWT 到期时,Kong 那边会发生什么?
- 当用户请求服务时,Kong 会从标头中嗅出 JWT,将其替换为
X-Consumer-*
- 对吗?
如果我的想法是错误的,或者如果有更好的方法来实现这一点,请纠正我。我对整个微服务的事情还很陌生。