首页 > 解决方案 > 自定义 Azure B2C 注册策略 - 业务逻辑 API 的客户端凭据授权流程

问题描述

我目前正在按照此用户指南向我的 B2C 注册流程添加自定义策略

我已经创建了 API 并配置了各种 XML 文件。我可以生成一个令牌来通过隐含流访问 API。

API 受 Azure Active Directory 身份验证的应用服务保护。

链接到的页面描述了如何添加基本身份验证和客户端 ID/秘密,这是一个客户端凭据流,所以我试图在邮递员中测试它

但是,由于未能使其正常工作,我去寻找并发现各种帖子表明 Azure B2C 不支持隐含凭据?

如果是这种情况,我很困惑,我应该如何确保自定义策略可以访问我为执行业务逻辑而调用的 API 的声明?

我的 API 托管在同一订阅中的 Azure 上。我可以为此 API 生成令牌,以便在我的本机/客户端应用程序中使用。

请有人建议我应该如何通过 Postman 从 B2C 上下文中测试对该 API 的访问?

标签: azure-active-directoryazure-ad-b2c

解决方案


链接到的页面描述了如何添加基本身份验证和客户端 ID/秘密,这是一个客户端凭据流,所以我试图在邮递员中测试它

确切地说,它不应该被称为客户端凭据,因为它不是。这只是 HTTP 基本身份验证。

在这种情况下,您将向 API 添加替代身份验证方法。B2C 不支持客户端凭据身份验证这一事实在这里并不重要。

重要的是您已在应用服务上启用 AAD 身份验证。这将阻止尝试对您的 API 使用基本身份验证的调用。

您可以执行以下几个选项:

  1. 在应用服务上禁用身份验证并在您的 API 代码中实现两种替代身份验证方法
  2. 允许通过应用服务身份验证进行匿名调用,并在 API 代码中为未经身份验证的请求实施基本身份验证

对于 Postman 的测试,它应该与测试任何支持基本身份验证的 API 相同。您不针对 B2C 进行身份验证,因此没有什么特别之处。


推荐阅读