[英]ADB2C Custom Policy - validate a claim against a string value always returns true
[英]Return simple string claim from custom policies in ADB2C
我關注了這篇文章,它解釋了如何使用 Active Directory B2C 實施自定義策略。 一切都很好,我唯一擔心的是自定義聲明會像序列化的 object 一樣返回。 讓我稍微解釋一下。 我成功創建了返回自定義聲明的 Azure Function。 編碼后的 JWT 如下所示(請關注“ userPermissions ”值):
{
"exp": 1594560277,
"nbf": 1594556677,
"ver": "1.0",
"auth_time": 1594556677,
"userPermissions": "{\r\n \"permissions\":\"test1\"\r\n}" <============= HERE
}
如您所見,“ userPermissions ”聲明是“序列化 JSON”。 我想要一個 JWT,如下所示:
{
"exp": 1594560277,
"nbf": 1594556677,
"ver": "1.0",
"auth_time": 1594556677,
"userPermissions": "test1" <============ HERE
}
如您所見,“test1”是一個簡單的字符串。 你可能會想:來吧 BrianEnno,這很簡單。 而不是返回“序列化 JSON”,你的 Azure Function 應該返回一個“字符串”,好吧:如果我嘗試返回一個(格式正確的)字符串,我收到了這個錯誤:
ServerError:AADB2C90261:步驟“4”中指定的聲明交換“GetPermissions”返回了無法解析的 HTTP 錯誤響應。
有沒有辦法讓它工作?
using Microsoft.AspNetCore.Mvc;
[HttpGet]
public async Task<JsonResult> Groups(string objectId)
{
string userPermissions = "test1";
//!!!!!This is the trick if I sent plain json I got the error
JsonResult o = new JsonResult(
new
{
userPermissions;
});
return o;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.