微服务的身份验证/授权机制

时间:2018-01-27 08:21:12

标签: authentication authorization microservices

我有许多微服务的项目,每个人都在做自己的工作。其中一人负责身份验证和授权。但尚不清楚其他服务应如何检查用户权限。是否有任何机制来处理这项任务?

2 个答案:

答案 0 :(得分:2)

最佳方法之一是具有JSON令牌 JWT OAuth 委派协议

Authentication in micro-services architecture

  1. 用户将其凭据发送到OAuth服务器
  2. 服务器检查用户的信息(例如,来自LDAP服务器),然后给他一个访问令牌
  3. 用户使用访问令牌将其请求发送到API网关
  4. API网关从请求中提取access_token,然后他将与Token Exchange端点通信以验证它,然后发出JWT
  5. 此JWT包含有关用户的所有必要信息,将被发送到微服务。
  6. 微服务还应通过与令牌交换端点通信来验证令牌的有效性。
  7. 当选中令牌时,微服务可以开始工作。
  8. 我认为此链接对您有用Securing Microservices

答案 1 :(得分:1)

你说这个责任属于微服务。因此,其他微服务不会检查权限,他们会委托。

如果您使用API​​网关并且无法从外部访问其他微服务,则在将请求转发到上游微服务之前,它会调用身份验证/授权微服务。

如果您不使用API​​网关,那么每个微服务在实际执行操作之前都会调用身份验证/授权微服务。