【发布时间】:2015-10-14 23:00:46
【问题描述】:
我最近读了很多关于微服务的文章,尤其是关于 AuthN 和 AuthZ。在大多数情况下,这一切都很有意义,我可以看到它应该如何工作。
对于我正在玩的东西,我使用委托授权 - 所以我将令牌从客户端传递到服务,然后将相同的令牌从服务传递到服务。我在 OAuth2 服务上还有一个端点,它将接受令牌并返回令牌的详细信息 - 用户 ID、有效期的开始和结束、令牌的有效范围等。
我在这里遇到的问题是 - 为了正确发布令牌,需要与用户服务进行一些通信,以确保令牌所针对的用户实际上是有效的。并且为了验证 Token,需要与 User Service 进行一些通信以确保 User 仍然有效。然而,为了安全地与用户服务通信以获取有关用户的详细信息,需要一个令牌来授予此访问权限。
我认为在如何解决 OAuth2 和用户服务之间的这种循环依赖方面有一些标准做法,但我根本没有看到任何提及它。这是个常见的问题吗?还是我错过了一些明显的东西?
(注意 - 现在我只实现客户端凭据授予和资源所有者密码凭据授予,因为我只是在玩弄看看它是如何工作的,并且使用 cURL 调用它们更容易。我没有知道这有什么不同)
【问题讨论】:
标签: authentication oauth-2.0 authorization microservices