У меня есть существующее приложение, которое использует objectId для идентификации пользователей и хранения их данных. Он использует встроенный поток для регистрации / входа. Компания AD была добавлена через Azure -Portal UI как OID C -Provider.
Поскольку мы требуем, чтобы пользователь согласился с Условиями использования до регистрации, потребовалась настраиваемая политика. Эта настраиваемая политика была создана с использованием стартового пакета для локальной и социальной учетной записи. Компания AD была снова добавлена в качестве поставщика OICD. Это было сделано, как описано здесь: документация
AD B2 C не может найти существующего пользователя при использовании технического профиля для чтения из AAD с помощью AlternativeSecurityId. Но этот технический профиль должен использоваться для социальных учетных записей, не так ли? t распознает пользователя и затем переходит к процессу регистрации. Что было бы правильным поведением, если бы пользователь еще не существовал.
Я предполагаю, что если AD добавляется через пользовательский интерфейс, он создает другой альтернативный идентификаторSecurityId для пользователя или не создает его в все.
Это преобразование выходных требований поставщика требований для компании AD:
<OutputClaimsTransformations>
<OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName"/>
<OutputClaimsTransformation ReferenceId="CreateUserPrincipalName"/>
<OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId"/>
<OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId"/>
</OutputClaimsTransformations>
Преобразование требований, использованное для создания альтернативного идентификатора безопасности, как предусмотрено в начальном пакете:
<ClaimsTransformation Id="CreateAlternativeSecurityId" TransformationMethod="CreateAlternativeSecurityId">
<InputClaims>
<InputClaim ClaimTypeReferenceId="issuerUserId" TransformationClaimType="key" />
<InputClaim ClaimTypeReferenceId="identityProvider" TransformationClaimType="identityProvider" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="alternativeSecurityId" TransformationClaimType="alternativeSecurityId" />
</OutputClaims>
</ClaimsTransformation>
Есть ли способ заставить adb2 c создать тот же objectId, используя настраиваемые политики, как это было раньше?