我有一个信任框架SignUpOrSignIn自定义策略用户流,该流为应用程序设置了3个扩展属性。
我可以在令牌中看到这3个声明及其默认值。
但是,当我通过MS Graph API GET
https://graph.microsoft.com/beta/{tenantId}/users/{userId}
用户时,看不到这些扩展属性。
一旦我PATCH
用户,我便可以按预期通过GET
到{userId}段看到该值。
PATCH
{
"extension_{appId}_subscription_expiry":"2020-04-10"
}
为什么在随后PATCH
之后才返回任何扩展属性?
答案 0 :(得分:2)
尽管您已在自定义策略中为3个扩展属性设置了默认值,但那时您只能在注册后在令牌中看到它们。但是您没有将它们存储到Azure AD中。
我想您只是在<OutputClaim ClaimTypeReferenceId="extension_subscription_expiry" AlwaysUseDefaultValue="true" DefaultValue="xxx" />
文件中添加了这样的代码SignUpOrSignIn.xml
。
但是,如果要将值存储到Azure AD中,则应使用AAD-UserWriteUsingLogonEmail
TechnicalProfile将自定义声明写入用户配置文件。参见Read and write a claim。
您应完成本文档中列出的所有步骤:Add claims and customize user input using custom policies in Azure Active Directory B2C