我正在为我的客户端(即API网关)实现具有单个入口端点的微服务架构。这是我建议的身份验证流程:
1)。客户端(SPA)将用户凭据传递到API网关,然后将其进一步传递给我的授权/身份验证服务。
2)。 Auth Service验证凭据并发出某种形式的不透明令牌,该令牌通过API网关传递回客户端。
3)。客户端将令牌作为标头发送到每个请求。 API网关将此不透明令牌从Auth Server交换到JWT,并将其存储在缓存中。然后,将JWT附加到所有下游请求,并且我的内部微服务会验证JWT(发行人,受众群体)。
我不确定是否有任何OAuth / OpenID协议支持此功能,或者我是否必须自己实现。 (不理想!)。 如果身份验证服务位于API网关之外,会是更好的解决方案吗?
谢谢。