我有一个使用GraphQL的微服务架构。它具有GraphQL网关,该网关使用架构拼接来组合所有GraphQL架构。
我打算按以下方式实施身份验证和授权:
我在这里有什么陷阱吗?这可能是个坏主意吗?
答案 0 :(得分:1)
听起来很不错,只要所有基础请求实际上都需要有效令牌,就可以将其很好地用于网关验证。我唯一要注意的是不要对尝试推向网关的逻辑过于机灵,以避免长期耦合。例如,在网关中解码和验证JWT的签名是一件很棒的事,因为您可能希望对所有路由执行相同的检查,但是尝试验证范围或执行任何按路由检查最好在应用程序本身中处理
对于上下文,我目前在我的服务之前有一个Nginx网关,在传递JWT令牌之前检查它的签名,这使基础服务假定该令牌是可信任的,并防止不良请求击中应用程序服务器。 / p>