【发布时间】:2019-02-19 20:22:41
【问题描述】:
我已根据找到的 OpenID Connect 示例 here 实现了身份验证。在开发环境中,我想添加用户模拟,它也代表身份验证。我希望 Graph API 等下游 API 或 Azure Analysis Services 等其他服务也使用模拟用户。
我在哪里可以阅读有关如何实现此功能的信息?这甚至可能吗?
【问题讨论】:
标签: c# azure-active-directory openid-connect
我已根据找到的 OpenID Connect 示例 here 实现了身份验证。在开发环境中,我想添加用户模拟,它也代表身份验证。我希望 Graph API 等下游 API 或 Azure Analysis Services 等其他服务也使用模拟用户。
我在哪里可以阅读有关如何实现此功能的信息?这甚至可能吗?
【问题讨论】:
标签: c# azure-active-directory openid-connect
我在哪里可以阅读有关如何实现此功能的信息?这甚至可能吗?
可以使用 OAuth 2.0 On-Behalf-Of (OBO) 流程来实现这一点。
Microsoft 的详细文档可在此处获得:
Service to service calls using delegated user identity in the On-Behalf-Of flow
OAuth 2.0 On-Behalf-Of (OBO) 流程服务于以下用例: 应用程序调用服务/Web API,而后者又需要调用 另一个服务/网络 API。这个想法是传播委托的用户 通过请求链的身份和权限。为了 向下游发出经过身份验证的请求的中间层服务 服务,它需要保护来自 Azure Active 的访问令牌 目录 (Azure AD),代表用户。
您已经实现的当前示例已经处理了上图中的绿色部分。按照 OBO 共享链接中的说明,您需要实施剩余部分。 “Web API B”将是下游 API,例如 Graph API 或您将使用来自第一个 Web API 的委托用户身份调用的其他 API(即您已经实现的示例中的 Web API A)。
【讨论】: