【发布时间】:2018-10-10 20:27:59
【问题描述】:
一个微服务应该拥有自己的数据,没有共享数据库。 令牌包括用户 ID、clams,但声明只是身份验证,而不是授权。 因此,如果我有一个单体应用程序,我可以检查用户是否是组的一部分(声明),如果是,我从数据库中获取该组能够做什么。 但是如果我有一个微服务,我就不能那样做,我不想把这个授权信息复制到所有的微服务中。
例如,所有用户都属于一个团队,应用程序中的所有服务都属于一个团队(例如,团队“A”的成员可以访问团队“A”的论坛、团队“A”的画廊等。
即使我将团队存储在声明中(我不希望这样做,因为在令牌仍然存在时成员资格可能会发生变化),我需要在所有微服务中拥有团队数据。但这听起来很糟糕。
那我该怎么办?
谢谢
【问题讨论】:
-
您使用 API 网关吗?
-
我可能会,是的......
-
然后就可以在API网关做授权了。
标签: token microservices