【问题标题】:Authentication/Authorization mechanism for microservices微服务的认证/授权机制
【发布时间】:2018-07-06 12:53:54
【问题描述】:

我的项目包含许多微服务,每个微服务都在发挥作用。其中之一负责身份验证和授权。但尚不清楚其他服务应如何检查用户权限。有什么机制可以处理这个任务吗?

【问题讨论】:

    标签: authentication authorization microservices


    【解决方案1】:

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

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

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

    【讨论】:

    • 在第二种情况下,每个服务都依赖于授权服务,这是个好主意吗?
    • @Vigen 我看不出你能以其他方式做些什么。 auth MS拥有auth域。为了获得更好的弹性(避免级联故障),您可以在 authMS 失败的情况下使用缓存结果。
    【解决方案2】:

    最好的方法之一是使用 JSON 令牌 JWT

    OAuth 委托协议

    Authentication in micro-services architecture

    1. 用户将其凭据发送到 OAuth 服务器
    2. 服务器检查用户的信息(例如来自 LDAP 服务器),然后给他一个访问令牌
    3. 用户将他的请求连同访问令牌发送到 API 网关
    4. API 网关从请求中提取 access_token,然后他将与令牌交换端点对话以对其进行验证,然后发出 JWT
    5. 这个包含用户所有必要信息的 JWT 将被发送到微服务。
    6. 微服务还应通过与令牌交换端点对话来验证令牌的有效性。
    7. 检查令牌后,微服务可以开始其工作。

    我认为这个链接对你有用Securing Microservices

    【讨论】:

      猜你喜欢
      • 2016-07-17
      • 2015-07-24
      • 2019-06-26
      • 2020-10-11
      • 1970-01-01
      • 2018-09-03
      • 2020-11-29
      • 2021-06-04
      • 2013-08-19
      相关资源
      最近更新 更多