【问题标题】:Authentication between two Micro Service in PCFPCF中两个微服务之间的身份验证
【发布时间】:2019-03-22 22:29:41
【问题描述】:

有没有办法确保 serviceA 仅由 serviceB(或一组白名单服务)调用?所有服务都是独立的,完全独立,不经过服务网关。

有什么好的微服务模式可以跟进吗?

【问题讨论】:

    标签: .net-core microservices pcf


    【解决方案1】:

    如果可能,请使用RFC 6749, 4.4. Client Credentials Grant,也称为Client Credentials FlowMachine-to-Machine (M2M) flow

    1. 定义一个与 serviceB 的 bounded context 理想相关的有意义的范围。例如,如果 serviceB 具有用户管理功能,则可能是 user:read
    2. serviceA request an access tokenpassing scope as an optional argument
    3. 根据 serviceA 的范围和 api 客户端标识符/秘密,授权服务授予(或不授予)访问令牌
    4. serviceA 使用访问令牌调用 serviceB。 ServiceB verify if access token is valid and has the intended scope

    请记住,还有其他方法可以实现这一点(例如在网络级别通过白名单 IP),但 OAUTH2 是用于授权的行业标准协议,我猜RFC 6749, 4.4. Client Credentials Grant 可以满足您的需求。

    【讨论】:

      猜你喜欢
      • 2018-01-18
      • 2019-08-02
      • 2020-04-05
      • 2018-07-17
      • 2020-09-25
      • 2021-08-13
      • 2021-01-10
      • 2019-11-17
      • 1970-01-01
      相关资源
      最近更新 更多