【问题标题】:OpenID Connect AAD user impersonationOpenID Connect AAD 用户模拟
【发布时间】:2019-02-19 20:22:41
【问题描述】:

我已根据找到的 OpenID Connect 示例 here 实现了身份验证。在开发环境中,我想添加用户模拟,它也代表身份验证。我希望 Graph API 等下游 API 或 Azure Analysis Services 等其他服务也使用模拟用户。

我在哪里可以阅读有关如何实现此功能的信息?这甚至可能吗?

【问题讨论】:

    标签: c# azure-active-directory openid-connect


    【解决方案1】:

    我在哪里可以阅读有关如何实现此功能的信息?这甚至可能吗?

    可以使用 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)。

    【讨论】:

    • 这不是模仿,这是委托。在您复制/粘贴的文档中明确说明:“想法是通过请求链传播委托的用户身份和权限”
    猜你喜欢
    • 2019-04-14
    • 2018-04-17
    • 2017-11-13
    • 1970-01-01
    • 2019-07-14
    • 1970-01-01
    • 2020-10-23
    • 1970-01-01
    • 2017-01-30
    相关资源
    最近更新 更多