azure-ad-b2c - 从 Azure AD B2C 自定义策略调用 Azure AD Graph API?
问题描述
Azure AD B2C 自定义策略中的 REST API 调用在“ServiceUrl”字段中定义了一个固定 URL。
用于读取的 Graph API 调用的形式如下:
.../用户/对象ID
所以 URL 需要是动态的。
您可以将 objectID 添加为输入声明,但它如何进入 URL?
输出是一个 JSON 对象。我认为您可以对其进行声明转换以获取输出声明中定义的特定属性。
写入 Graph API 需要 PATCH,但自定义策略 REST API 调用仅允许 GET 和 POST。
似乎没有声明转换来构建 JSON 对象以从输出声明中写入。
是否可以从自定义策略调用 Azure AD Graph API?
解决方案
3月1日编辑: 关于你的问题
是否可以从自定义策略调用 Azure AD Graph API?
要调用 azure AD,您必须使用 AzureActiveDirectoryProvider。restful 提供程序用于调用您可以自己设置和控制的任意 rest api。
要使用 AAD 提供程序,您可以按照此处的文档进行操作。https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-setup-aad-custom
以下是我关于 Restful Provider 功能的原始答案:
使用元数据键“SendClaimsAs”=“Url”的 Restful Provider 可以支持动态 URL
如果你使用它,你可以指定一个像这样的 url “ https://my.tld/ {partnerClaim1}/{partnerClaim2}” 并且声明将被填充到 url 中。
但是,如果您这样做,请求将始终是 Get 请求。
输出是一个 JSON 对象。我认为您可以对其进行声明转换以获取输出声明中定义的特定属性。
没错,您可以使用声明转换从 json 获取声明。
写入 Graph API 需要 PATCH,但自定义策略 REST API 调用仅允许 GET 和 POST。
似乎没有声明转换来构建 JSON 对象以从输出声明中写入。
你说得对,今天我们没有输出声明的声明转换,rest api 不支持补丁请求。
推荐阅读
- hibernate - Hibernate - 我可以使用带有对象的地图作为键吗?
- typo3 - TYPO3 如何从我的插件后端表单中删除标题部分
- wordpress - 在 DIVI 渲染中不工作 CSS(但在 Builder 中工作)
- java - aidl.exe'' 以非零退出值 1 结束
- python - jam.py 框架中视图的使用
- python - 如何从 main.py 调用 calc() 函数
- outlook - 兑换附件文件名转义与 Outlook 不同
- python - 生成和存储指数分布的样本
- java - 比较字符串时的 equals 或 contentEquals
- ruby-on-rails - 在 Docker 中运行 Rails 应用程序时,纱线包已过期