Azure B2 C Создание учетной записи с помощью пользовательской политики AAD Write создает пользователя как заблокированного - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь создать поток входа с помощью только что перенесенной миграции. После проверки пользователя через REST API мне нужно записать пользователя в каталог через технический профиль проверки AAD Write. Он работает нормально, но создает учетные записи как заблокированные - когда я go захожу на портал, я вижу "Блокировать вход = ДА"

В чем может быть причина? Я использую тот же технический профиль, и он отлично работает в процессе регистрации

Ниже приведен технический профиль, который я выполняю в рамках локального входа в техническом профиле

 <TechnicalProfile Id="AAD-UserWriteUsingLogonEmail-Migrate">
      <Metadata>
        <Item Key="Operation">Write</Item>
        <Item Key="RaiseErrorIfClaimsPrincipalAlreadyExists">true</Item>
      </Metadata>
      <IncludeInSso>false</IncludeInSso>
      <InputClaims>
         <InputClaim ClaimTypeReferenceId="signInName" PartnerClaimType="signInNames.emailAddress" Required="true" />  

      </InputClaims>
      <PersistedClaims>
        <!-- Required claims -->

          <PersistedClaim ClaimTypeReferenceId="signInName" PartnerClaimType="signInNames.emailAddress" />   

        <PersistedClaim ClaimTypeReferenceId="newPassword" PartnerClaimType="password" />
        <PersistedClaim ClaimTypeReferenceId="displayName" DefaultValue="unknown" />
        <PersistedClaim ClaimTypeReferenceId="passwordPolicies" DefaultValue="DisablePasswordExpiration" />
        <!-- Optional claims. -->
        <PersistedClaim ClaimTypeReferenceId="givenName" />
        <PersistedClaim ClaimTypeReferenceId="surname" />
        <PersistedClaim ClaimTypeReferenceId="jobTitle" />
        <PersistedClaim ClaimTypeReferenceId="extension_Phone" /> 
        <PersistedClaim ClaimTypeReferenceId="extension_companyId" />
        <PersistedClaim ClaimTypeReferenceId="extension_companyName" />
        <PersistedClaim ClaimTypeReferenceId="extension_communicationOptin" /> 
        <PersistedClaim ClaimTypeReferenceId="streetAddress" />
        <PersistedClaim ClaimTypeReferenceId="city" />
        <PersistedClaim ClaimTypeReferenceId="state" />
        <PersistedClaim ClaimTypeReferenceId="postalCode" />
        <PersistedClaim ClaimTypeReferenceId="country" /> 
      </PersistedClaims>
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="objectId" />
        <OutputClaim ClaimTypeReferenceId="newUser" PartnerClaimType="newClaimsPrincipalCreated" />
        <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="localAccountAuthentication" />
        <OutputClaim ClaimTypeReferenceId="userPrincipalName" />
        <OutputClaim ClaimTypeReferenceId="signInNames.emailAddress" />
        <OutputClaim ClaimTypeReferenceId="executed-SelfAsserted-Input" DefaultValue="true" />
      </OutputClaims>
      <IncludeTechnicalProfile ReferenceId="AAD-Common" />
      <UseTechnicalProfileForSessionManagement ReferenceId="SM-AAD" />
    </TechnicalProfile>

1 Ответ

0 голосов
/ 23 апреля 2020

...

        <PersistedClaim ClaimTypeReferenceId="newPassword" PartnerClaimType="password" />

...

Оказывается, заявка "новый пароль" недоступна, поскольку заявка, которую я собирал во время входа в самоутверждение на этапе "" пароль". Добавление «PartnerClaimType = пароль» также не скопировало «пароль» в утверждение «новый пароль».

Решение состояло в том, чтобы просто переименовать «newpassword» в «пароль», и поток работал нормально

        <PersistedClaim ClaimTypeReferenceId="password" />

Как прокомментировал Крис, когда пароля нет, AAD Write по-прежнему создает пользователя, но создает он отключен - что, по моему мнению, не должно происходить, и B2 C должно выдавать значимое сообщение об ошибке

...