.net Azure函数-从Azure函数调用安全的Web服务器API
如果我想调用需要Azure Active Directory B2C Tenent授权的API,我将如何授权基于触发器的Azure函数的请求 由于函数基于触发器调用API,因此没有用户交互,而是在后台进行。所以我假设需要发送不记名代币.net Azure函数-从Azure函数调用安全的Web服务器API,.net,azure,azure-functions,.net,Azure,Azure Functions,如果我想调用需要Azure Active Directory B2C Tenent授权的API,我将如何授权基于触发器的Azure函数的请求 由于函数基于触发器调用API,因此没有用户交互,而是在后台进行。所以我假设需要发送不记名代币 如果需要任何其他信息,请告诉我。正如您所暗示的,您首先需要从AAD B2C获得访问令牌,然后使用该令牌访问您的API。我建议您参考MS文档从AAD B2C获取访问令牌,它非常详细,应该是您所需要的: 然后将该访问令牌添加到auth头中(使用HttpClient)
如果需要任何其他信息,请告诉我。正如您所暗示的,您首先需要从AAD B2C获得访问令牌,然后使用该令牌访问您的API。我建议您参考MS文档从AAD B2C获取访问令牌,它非常详细,应该是您所需要的:
然后将该访问令牌添加到auth头中(使用HttpClient)并调用API。确实没有任何Azure功能特定/依赖的问题需要担心。将您的B2C租户视为常规AAD,即通过常规AAD刀片查看它,并以这种方式配置标准客户端凭据OAuth2流。这是可能的。仅通过B2C刀片服务器注册的应用程序不支持客户端凭据。请看一个示例,看看它是如何完成的。谢谢您的评论。我对以这种方式请求令牌的担心是,它似乎取决于用户以交互方式登录到他们的帐户。但是由于没有用户与Azure功能交互,因此没有用户能够登录该帐户。对不起,我在这个例子中实际上是错的。我假设B2C支持客户端凭证流,但快速搜索发现它不直接支持它。看看,你会看到微软建议的解决方法。如果您需要委派用户标识(作为特定用户),这将不会有帮助。如果您需要,那么我认为您无法在Azure功能(非交互式流)中实现这一点。