【发布时间】:2020-10-19 18:10:50
【问题描述】:
我有一个关于微服务架构的问题。我有的例子:
- 提供JWT(以Keycloak为例)的授权认证服务器
- 2 个微服务,它们之间通过 REST 进行通信。
- 1 微服务是一种用户服务,它在我的数据库中为来自 Keycloak 的每个新用户创建一个新用户(可能明天我们有 Google 或 Github,记住这一点很重要)。当我创建用户时,我将他的主题从声明中存储在特定字段中。
- 1个微服务,存储creatorId,例如blog post的updateById。
最好将主题存储在我的 creatorId 和 updatedById 中(像这样,我不需要询问我的用户服务来确定谁是创建者)或存储我的用户服务中的 userId 和我的每次调用post-service 是发出请求的用户(所以我每次都发出休息请求,以通过将 JWT 令牌传递给用户服务来获取发送请求的用户)。
IMO,每次发送休息请求都会增加用户服务的负载,但对于 Google、Github 和 Keycloak,不同用户的主题 ID 可能相同。
【问题讨论】:
标签: security oauth architecture microservices openid-connect