json - Azure B2C 自定义策略 REST API - 实现 QueryString 输入声明并处理 JSON 数组响应
问题描述
我目前在自定义策略中实现了一个 REST API,它运行良好。SendClaimsIn 类型是 Body,响应是 JSON 对象。很多这样的例子可以帮助我解决问题。但现在我有第二个 REST API 调用,其格式如下:
根据我阅读的内容,我应该将 REST URL 用作:
https://www.myapi.org/api/piidb.person/find-person-by-email-address
我应该使用 QueryString 的 SendClaimsIn 类型。但是 InputClaim 应该是什么样子?我认为这会起作用,但我不确定(在这种情况下,signInName 是一个电子邮件地址):
<InputClaims>
<InputClaim ClaimTypeReferenceId="signInName" PartnerClaimType="email-addr"/>
</InputClaims>
OutputClaims 更有问题。JSON 响应是:
[ {
"commonName": "Pete",
"firstName": "Pete",
"lastName": "Helgren"
}
]
文档似乎表明我应该使用 StringCollection 声明转换,但我还没有找到一个清楚地显示应该如何使用上面的 json 格式实现的示例。我在 WAG 上尝试过类似的操作,但没有看到错误,也没有看到 API 应返回的任何参数:
<OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="[0].commonName"/>
<OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="[0].firstName"/>
<OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="[0].lastName"/>
因此,如果有人可以在“QueryString”的格式和引用返回的 JSON 的方式上填写空白,我将不胜感激。
解决方案
推荐阅读
- php - Postman akamai edge-grid 代码在 php 中不起作用
- c++ - C++ 错误:“<<”标记之前的预期主表达式
- python - 对于 Pandas,.loc 和 no loc 有什么区别
- javascript - 如何使用纯 javascript/jquery 将对象呈现为 html
- webpack - Webpack 加载器和插件之间的通信
- python - 如何使用python找到轨迹中最平滑的部分?
- mongodb - 数组数组上的MongoDB聚合查询项目
- http - 为什么不管我的超时设置为 5000 毫秒,okhttp 请求都会立即返回套接字异常?
- reactjs - 尽管 Docker 容器被列为“up”,但 localhost 未加载 React 应用程序
- laravel - 试图在 Laravel 8 中获取非对象的属性“id”