Как предварительно заполнить некоторые поля в пользовательской политике ADB2C?

Я работаю над пользовательской политикой регистрации ADB2C. Есть несколько полей / пользовательских атрибутов, которые я хочу предварительно заполнить на основе значений, переданных в URL-адресе, используя какой-либо параметр запроса или около того. Я пробовал распознавать утверждения {OAUTH-KV: query_parameter}, упомянутый в следующей ссылке: https://docs.microsoft.com/en-us/azure/active-directory-b2c/claim-resolver-overview#using-Claim-resolvers Но добиться этого не удалось. Любое предложение / решение будет действительно полезным. Заранее спасибо.


person Mohit Aggarwal    schedule 03.03.2021    source источник


Ответы (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
comment
Привет, Брэд, Спасибо за ответ. На самом деле я использовал {OAUTH-KV} для OutputClaim в политике регистрации. Я не уверен, возможно ли это. Но я также включил InputClaim для тех же полей и использовал для этого {OAUTH-KV}. И это решило мою проблему - person Mohit Aggarwal; 04.03.2021