我们正在更改应用程序身份验证体系结构,以切换到Json Web令牌。
实际上,传入的请求首先通过API网关传递,该网关将请求分派到我们堆栈中的各种微服务。
每个请求中传递的JWT的身份验证和验证都是在网关中完成的。
认证后,您将如何处理JWT?
将它“按原样”传递给后续的微服务?
在网关中对其进行解码,仅将解码后的有效负载传递给服务?
我在两种解决方案中都看到了利弊:
赞成:我们一直保持标准的Authentification http标头。
缺点:我们必须在每个服务中解码令牌。
Pro:令牌已被解码,可直接用于服务中。
缺点:我们必须使用非标准的http标头来传递解码后的有效负载。
在这种情况下有什么“标准”方法吗?
你怎么看 ?
谢谢 !
最佳答案
按原样通过JWT。解码的开销可以忽略不计,但是如果您的网关由于某种原因被旁路,则可以使系统更加安全。或者,也许您将来决定直接与您的微服务通信。