2017-08-07 1 views
0

je l'ai mis en place une politique personnalisée en B2C Azure AD suivant le guide fourni ici:Azure Active Directory - Politique personnalisée Erreur

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

J'ai effectivement mis en place IdP comme SSOCircle au lieu de SalesForce et cela semble fonctionner jusqu'à ce que la redirection vers le fournisseur de services assertion Url consommateur de

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

J'ai ajouté Insights application afin de résoudre les problèmes et les détails d'exception sont:

Une revendication de ClaimType avec id « socialIdpUserId » n'a pas été trouvé, ce qui est requis par la ClaimsTransformationImpl de type « Microsoft.Cpim. Data.Transformations.CreateAlternativeSecurityIdTransformation "pour TransformationMethod" CreateAlternativeSecurityId "référencé par ClaimsTransformation avec l'ID" CreateAlternativeSecurityId "dans la stratégie" B2C_1A_TrustFrameworkBase "du locataire" TENANT.onmicrosoft.com ".

Toute aide serait appréciée.

Répondre

0

Selon l'erreur, votre <ClaimsProvider> ne contient pas la demande socialIdpUserId. Cela est dû au fait que l'entrée <OutputClaim> qui a un ClaimTypeReferenceId="socialIdPUserId" est manquante ou est mappée à un PartnerClaimType que SSOCircle ne fournit pas.

De l'"Create the Salesforce SAML claims provider in your base policy" section dans ce document dont vous avez parlé:

<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> 
0

Si vous avez besoin de l'ID utilisateur comme une demande de SSOCircle, s'il vous plaît vérifier « UserID » lors de l'importation des données du fournisseur de services SAML à l'interface d'administration SSOCircle . SSOCircle IDP ajoutera ensuite le nom d'utilisateur en tant qu'attribut "UserID" dans l'assertion SAML.

Se référant à la politique Saca mentionné, modifiez la ligne:

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

à

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

Est-ce similaire pour les autres attributs tels que givenname, prénom et email