Я работаю над пользовательской политикой регистрации ADB2C. Есть несколько полей / пользовательских атрибутов, которые я хочу предварительно заполнить на основе значений, переданных в URL-адресе, используя какой-либо параметр запроса или около того. Я пробовал распознавать утверждения {OAUTH-KV: query_parameter}, упомянутый в следующей ссылке: https://docs.microsoft.com/en-us/azure/active-directory-b2c/claim-resolver-overview#using-Claim-resolvers Но добиться этого не удалось. Любое предложение / решение будет действительно полезным. Заранее спасибо.
Как предварительно заполнить некоторые поля в пользовательской политике ADB2C?
Ответы (1)
Это будет во многом зависеть от типа технического профиля, но есть две вещи, которые я бы рекомендовал проверить в вашей реализации.
Во-первых, вам нужно убедиться, что вы устанавливаете атрибут DefaultValue
и устанавливаете AlwaysUseDefaultValue
на true. Вот рабочий пример из технического профиля Self Asserted
.
<InputClaims>
<InputClaim ClaimTypeReferenceId="email" DefaultValue="{OAUTH-KV:userEmailParameter}" AlwaysUseDefaultValue="true"/>
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="email" Required="true"/>
<OutputClaim ClaimTypeReferenceId="password" Required="true"/>
</OutputClaims>
Во-вторых, в некоторых технических профилях необходимо добавить атрибут метаданных IncludeClaimResolvingInClaimsHandling
и установить его значение true.
<Metadata>
<Item Key="IncludeClaimResolvingInClaimsHandling">true</Item>
</Metadata>
Не стесняйтесь редактировать свой исходный пост и включать технический профиль, который вы настроили, и я могу лучше помочь.
person
Brad C.
schedule
03.03.2021
Привет, Брэд, Спасибо за ответ. На самом деле я использовал {OAUTH-KV} для OutputClaim в политике регистрации. Я не уверен, возможно ли это. Но я также включил InputClaim для тех же полей и использовал для этого {OAUTH-KV}. И это решило мою проблему
- person Mohit Aggarwal; 04.03.2021