【发布时间】:2020-11-21 19:57:16
【问题描述】:
我正在实施一个简单的基于微服务的项目,但我在身份验证方面遇到了一些疑问。我的疑问更多是关于最佳实践,而不是在技术上做什么。
我有什么:
- 假设我有几个 API
- 还有一个 API 网关负责路由和身份验证
- 我正在使用身份提供程序 (keycloak) 进行身份验证(基于 JWT)
我想知道的:
假设我有一个像 api/user/<user_id> 这样的端点,它与 POST 请求一起使用,它会更改有关用户的信息。
为此,我不仅需要检查是否是经过身份验证/允许的用户,还必须检查尝试访问它的用户是否是自己的用户。
我的问题是,最好在 API 网关中执行,还是 API 网关需要将 JWT 传递给 API 以便它可以在控制器上检查?
- 我正在使用 spring-boot 作为 api
- Netflix 的 API 网关 Zuul 代理
- 用于处理身份验证的 Keycloak
【问题讨论】:
标签: spring-boot authentication jwt microservices aws-api-gateway