我已经为我的 azure 函数设置了 B2C Azure 身份验证,工作正常,如下所示:
效果很好,用户可以登录并调用 API 一切正常!
现在我想从其他 Web API 调用相同的 API。我使用 client_credentials
实现它,即我使用客户端 ID 和密码调用 https://login.microsoftonline.com/<b2c>.onmicrosoft.com/oauth2/v2.0/token
并获取令牌。
API 响应失败,返回 401 You do not have permission to view this directory or page.
。我发现这是因为发行者不同(显然),如果我从登录用户调用 API 发行者是 https://<b2c>.b2clogin.com/<tenant id>/v2.0/
VS 客户端凭据流发行者是 https://login.microsoftonline.com/<tenant id>/v2.0
。
现在从外部网络应用调用不会失败。但是对于以 b2c 流程登录的用户来说却失败了!
我如何配置颁发者网址,以便它在两个流程中都有效:当用户通过 b2c 和外部 API 注册流程时使用客户端凭据流程?
答案 0 :(得分:0)
这里有一个样本
此 API 允许来自两个不同发行者的令牌。
您无法使用 Azure 门户中的身份验证选项来实现这一点,因为它只允许一个颁发者。