Azure Active Directory - ошибка настраиваемой политики

Я настроил настраиваемую политику в Azure AD B2C, следуя приведенному здесь руководству:

https://docs.microsoft.com/azure/active-directory-b2c/active-directory-b2c-setup-sf-app-custom

Я фактически настроил IdP как SSOCircle вместо SalesForce, и, похоже, это работает до тех пор, пока не будет перенаправлен URL-адрес утверждения поставщика услуг для

https://login.microsoftonline.com/te/TENANT.onmicrosoft.com/B2C_1A_TrustFrameworkBase/samlp/sso/assertionconsumer

Я добавил Application Insights для устранения неполадок, и подробные сведения об исключении:

Утверждение ClaimType с идентификатором «socialIdpUserId» не было найдено, что требуется для ClaimsTransformationImpl типа «Microsoft.Cpim.Data.Transformations.CreateAlternativeSecurityIdTransformation» для TransformationMethod «CreateAlternativeSecurityId» CreateAlternativeSecurityId с политикой «Идентификатор безопасности ID», на которую ссылается ClaimsTransformationId », на которую ссылается политика ClaimsTransformationAnsystems "арендатора" TENANT.onmicrosoft.com ".

Любая помощь будет оценена по достоинству.


person B Wells    schedule 07.08.2017    source источник


Ответы (2)


В соответствии с ошибкой в ​​вашем <ClaimsProvider> отсутствует претензия socialIdpUserId. Это связано с тем, что либо отсутствует запись <OutputClaim> с ClaimTypeReferenceId="socialIdPUserId", либо она сопоставлена ​​с PartnerClaimType, который SSOCircle не предоставляет.

Из « Создайте поставщика утверждений SAML Salesforce в своей базовой политике » в этом документе, на который вы ссылались:

<ClaimsProvider>
  <Domain>salesforce</Domain>
  <DisplayName>Salesforce</DisplayName>
  <TechnicalProfiles>
    <TechnicalProfile Id="salesforce">
      <DisplayName>Salesforce</DisplayName>
      <Description>Login with your Salesforce account</Description>
      <Protocol Name="SAML2"/>
      <Metadata>
    <Item Key="RequestsSigned">false</Item>
    <Item Key="WantsEncryptedAssertions">false</Item>
    <Item Key="WantsSignedAssertions">false</Item>
    <Item Key="PartnerEntity">https://contoso-dev-ed.my.salesforce.com/.well-known/samlidp.xml</Item>
      </Metadata>
      <CryptographicKeys>
    <Key Id="SamlAssertionSigning" StorageReferenceId="B2C_1A_SAMLSigningCert"/>
    <Key Id="SamlMessageSigning" StorageReferenceId="B2C_1A_SAMLSigningCert"/>
      </CryptographicKeys>
      <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="socialIdpUserId" PartnerClaimType="userId"/>
    <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name"/>
    <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="family_name"/>
    <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email"/>
    <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="username"/>
    <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="externalIdp"/>
    <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="SAMLIdp" />
      </OutputClaims>
      <OutputClaimsTransformations>
    <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName"/>
    <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName"/>
    <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId"/>
    <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId"/>
      </OutputClaimsTransformations>
      <UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop"/>
    </TechnicalProfile>
  </TechnicalProfiles>
</ClaimsProvider>
person Saca    schedule 08.08.2017

Если вам нужен идентификатор пользователя в качестве утверждения от SSOCircle, проверьте «UserID» во время импорта данных поставщика услуг SAML в пользовательском интерфейсе администратора SSOCircle. SSOCircle IDP затем добавит имя пользователя в качестве атрибута «UserID» в утверждение SAML.

Ссылаясь на упомянутую Политику Сака, измените строку:

<OutputClaim ClaimTypeReferenceId="socialIdpUserId" PartnerClaimType="userId"/> 

to

<OutputClaim ClaimTypeReferenceId="socialIdpUserId" PartnerClaimType="UserID"/>

Сделайте то же самое для других атрибутов, таких как имя, фамилия и адрес электронной почты.

person Hos    schedule 14.08.2017