【问题标题】:Call Microservice from Another Service with OAuth2 or OIDC使用 OAuth2 或 OIDC 从另一个服务调用微服务
【发布时间】:2021-03-17 07:49:17
【问题描述】:

我有两个使用 .net core 3.1 开发的服务,它们使用 IdentityServer4 进行身份验证。 我有一个 Angular 客户端应用程序,它调用第一个服务 AuthorizationService,它还调用另一个服务 MembershipService。

我希望授权服务使用其客户端 ID 和机密调用 MembershipService,而不是使用用户提供的令牌,因为我不希望用户能够访问 MembershipService,而只能访问授权服务。 如何将一项服务配置为另一项服务的客户端。 问候

【问题讨论】:

    标签: .net-core oauth-2.0 microservices identityserver4 openid-connect


    【解决方案1】:

    您可以在您的 ID4 令牌提供者服务中实现 ExtensionGrant 验证器。一旦您为扩展授权类型提供支持,您就可以为AuthorizationService 创建一个单独的 ID4 客户端以及它自己的 GrantType 和 ClientScope。

    每当AuthorizationService 想要与MembershipService 通信时,然后从 ID4 获取委托令牌,并通过 HTTP 请求传递新收到的令牌。

    客户端配置:

    • ClientId:authServiceClient
    • 授予类型:delegation
    • 客户端范围:authService_Scope

    我希望这个答案对你有所帮助,快乐编码!

    【讨论】:

      猜你喜欢
      • 2018-03-04
      • 1970-01-01
      • 1970-01-01
      • 2020-04-27
      • 2018-12-27
      • 1970-01-01
      • 2020-03-18
      • 2020-07-06
      • 1970-01-01
      相关资源
      最近更新 更多