【问题标题】:Azure Authentication (classic): AAD multiple issuer urlAzure 身份验证(经典):AAD 多个颁发者 url
【发布时间】:2021-04-27 10:39:55
【问题描述】:

我已经为我的 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 流程登录的用户来说却失败了!

如何配置 Issuer Url,以便它在两个流程中都起作用:当用户通过 b2c 注册流程和使用客户端凭据流程的外部 API 时?

【问题讨论】:

    标签: azure azure-active-directory azure-ad-b2c azure-authentication


    【解决方案1】:

    这里有一个示例

    https://github.com/azure-ad-b2c/apps/blob/master/apps/spa-hellojs-popup/source-code/.Net-Core-API-RBAC/MultiBearerAPI/Startup.cs#L30

    此 api 允许来自两个不同发行者的令牌。

    您无法使用 Azure 门户中的身份验证选项来实现这一点,因为它只允许一个颁发者。

    【讨论】:

    • 我明白了,所以这需要我自己在 azure 函数中验证令牌 :( 谢谢
    猜你喜欢
    • 2019-01-13
    • 2021-08-24
    • 2020-12-21
    • 2021-06-10
    • 1970-01-01
    • 2011-11-04
    • 2021-12-14
    • 1970-01-01
    • 2017-10-01
    相关资源
    最近更新 更多