azure-active-directory - 自定义 Azure B2C 注册策略 - 业务逻辑 API 的客户端凭据授权流程
问题描述
我目前正在按照此用户指南向我的 B2C 注册流程添加自定义策略
我已经创建了 API 并配置了各种 XML 文件。我可以生成一个令牌来通过隐含流访问 API。
API 受 Azure Active Directory 身份验证的应用服务保护。
链接到的页面描述了如何添加基本身份验证和客户端 ID/秘密,这是一个客户端凭据流,所以我试图在邮递员中测试它
但是,由于未能使其正常工作,我去寻找并发现各种帖子表明 Azure B2C 不支持隐含凭据?
如果是这种情况,我很困惑,我应该如何确保自定义策略可以访问我为执行业务逻辑而调用的 API 的声明?
我的 API 托管在同一订阅中的 Azure 上。我可以为此 API 生成令牌,以便在我的本机/客户端应用程序中使用。
请有人建议我应该如何通过 Postman 从 B2C 上下文中测试对该 API 的访问?
解决方案
链接到的页面描述了如何添加基本身份验证和客户端 ID/秘密,这是一个客户端凭据流,所以我试图在邮递员中测试它
确切地说,它不应该被称为客户端凭据,因为它不是。这只是 HTTP 基本身份验证。
在这种情况下,您将向 API 添加替代身份验证方法。B2C 不支持客户端凭据身份验证这一事实在这里并不重要。
重要的是您已在应用服务上启用 AAD 身份验证。这将阻止尝试对您的 API 使用基本身份验证的调用。
您可以执行以下几个选项:
- 在应用服务上禁用身份验证并在您的 API 代码中实现两种替代身份验证方法
- 允许通过应用服务身份验证进行匿名调用,并在 API 代码中为未经身份验证的请求实施基本身份验证
对于 Postman 的测试,它应该与测试任何支持基本身份验证的 API 相同。您不针对 B2C 进行身份验证,因此没有什么特别之处。
推荐阅读
- python-3.x - 如何修复出现在我自己定义的函数中的 NameError?
- android - 当声音在两个 ImageButtons 中播放完毕时,将暂停图标更改为播放图标
- bash - 使用 bash 增加 .txt 文件中的变量
- python - 使用链接/按钮以 HTML 格式打开 .py 文件
- java - 为什么 Intellij Heap Memory Leak on Hello World with Thread.Sleep?
- python - Django - 从 HttpResponse 对象中检索 url?
- python - ValueError: int() 以 10 为基数的无效文字:在 python 中导入请求模块时出现“错误”
- forms - 我收到错误:将 admob 添加到我的 xamarin 表单项目时,包 com.google.ads.mediation.customevent 不存在错误
- database - 用于图形数据库的 Sqlite(可嵌入)
- debugging - “gdb”和“valgrind”以不同的方式执行二进制文件?