【发布时间】:2020-01-15 15:06:29
【问题描述】:
如果我想调用需要来自 Azure Active Directory B2C 租户授权的 API,我将如何授权来自基于触发器发生的 Azure 函数的请求?
由于函数基于触发器调用 API,因此没有用户交互,并且发生在后台。所以我会假设需要发送一个不记名令牌?
如果需要任何其他信息,请告诉我。
【问题讨论】:
标签: .net azure azure-functions
如果我想调用需要来自 Azure Active Directory B2C 租户授权的 API,我将如何授权来自基于触发器发生的 Azure 函数的请求?
由于函数基于触发器调用 API,因此没有用户交互,并且发生在后台。所以我会假设需要发送一个不记名令牌?
如果需要任何其他信息,请告诉我。
【问题讨论】:
标签: .net azure azure-functions
正如您所暗示的,您首先需要从 AAD B2C 获取访问令牌,然后使用该令牌访问您的 API。我建议您参考 MS Docs 从 AAD B2C 获取访问令牌,它非常详细,应该是您需要的:
然后将该访问令牌添加到您的身份验证标头(使用 HttpClient)并调用您的 API。确实没有任何特定于/依赖于 Azure Function 的事情需要担心。
【讨论】:
将您的 B2C 租户视为常规 AAD,即通过常规 AAD 刀片查看它并以这种方式配置标准客户端凭据 OAuth2 流。这是可能的。只有通过 B2C 刀片注册的应用程序不支持客户端信用。查看示例here 以了解它是如何完成的。
【讨论】:
这是代码示例。它展示了如何使用 Microsoft 身份平台在非交互式过程中从受保护的 Web API 访问数据:
https://github.com/Azure-Samples/active-directory-dotnetcore-daemon-v2/tree/master/2-Call-OwnApi
【讨论】: