Dela via


Konfigurera registrering och inloggning med ett Salesforce-konto med hjälp av Azure Active Directory B2C

Viktigt!

Från och med den 1 maj 2025 är Azure AD B2C inte längre tillgängligt att köpa för nya kunder. Läs mer i våra vanliga frågor och svar.

Innan du börjar använder du väljaren Välj en principtyp överst på den här sidan för att välja den typ av princip som du konfigurerar. Azure Active Directory B2C erbjuder två metoder för att definiera hur användare interagerar med dina program: via fördefinierade användarflöden eller genom fullständigt konfigurerbara anpassade principer. De steg som krävs i den här artikeln skiljer sig åt för varje metod.

Anmärkning

I Azure Active Directory B2C är anpassade principer främst utformade för att hantera komplexa scenarier. I de flesta scenarier rekommenderar vi att du använder inbyggda användarflöden. Om du inte har gjort det kan du läsa mer om startpaketet för anpassad princip i Kom igång med anpassade principer i Active Directory B2C.

Förutsättningar

Skapa ett Salesforce-program

Om du vill aktivera inloggning för användare med ett Salesforce-konto i Azure Active Directory B2C (Azure AD B2C) måste du skapa ett program i din Salesforce App Manager. Mer information finns i Konfigurera grundläggande inställningar för anslutna appar och Aktivera OAuth-inställningar för API-integrering

  1. Logga in på Salesforce.
  2. I menyn väljer du Inställningar.
  3. Expandera Appar och välj sedan Apphanteraren.
  4. Välj Ny ansluten app.
  5. Under Grundläggande information anger du:
    1. Namn på ansluten app - Namnet på den anslutna appen visas i Apphanteraren och på dess App Launcher-ruta. Namnet måste vara unikt inom din organisation.
    2. API-namn
    3. E-postadress för kontakt - Kontakt-e-postadressen för Salesforce
  6. Under API (Aktivera OAuth-inställningar) väljer du Aktivera OAuth-inställningar
    1. För motringnings-URL anger du https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp. Om du använder en anpassad domän anger du https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp. Ersätt your-tenant-name med namnet på din klientorganisation och your-domain-name med din anpassade domän. Du måste använda alla gemener när du anger ditt klientnamn även om klientorganisationen har definierats med versaler i Azure AD B2C.
    2. I Valda OAuth-omfång väljer du Åtkomst till identitets-URL-tjänsten (id, profil, e-post, adress, telefon) och Tillåt åtkomst till din unika identifierare (openid).
    3. Välj Kräv hemlighet för webbserverflöde.
  7. Välj Konfigurera ID-token
    1. Ange token som är giltig i 5 minuter.
    2. Välj Inkludera standardanspråk.
  8. Klicka på Spara.
  9. Kopiera värdena för Konsumentnyckel och Konsumenthemlighet. Du behöver båda för att konfigurera Salesforce som identitetsprovider i din klientorganisation. Klienthemlighet är en viktig säkerhetsautentiseringsuppgift.

Konfigurera Salesforce som identitetsleverantör

  1. Om du har åtkomst till flera klientorganisationer väljer du ikonen Inställningar på den översta menyn för att växla till din Azure AD B2C-klientorganisation från menyn Kataloger + prenumerationer.

  2. Välj Alla tjänster i det övre vänstra hörnet i Azure-portalen och sök sedan efter och välj Azure AD B2C.

  3. Välj Identitetsprovidrar och välj sedan Ny OpenID Connect-provider.

  4. Ange ett Namn. Ange till exempel Salesforce.

  5. För Metadata-URL anger du URL:en till dokumentet Salesforce OpenID Connect-konfiguration. För en sandbox-miljö ersätts login.salesforce.com med test.salesforce.com. För en community ersätts login.salesforce.com med community-URL:en, till exempel username.force.com/.well-known/openid-configuration. URL:en måste vara HTTPS.

    https://login.salesforce.com/.well-known/openid-configuration
    
  6. För klient-IDanger du det program-ID som du registrerade tidigare.

  7. För Klienthemlighetanger du den klienthemlighet som du registrerade tidigare.

  8. För omfånget anger du openid id profile email.

  9. Lämna standardvärdena för Svarstyp och Svarsläge.

  10. (Valfritt) För domäntipset anger du contoso.com. Mer information finns i Konfigurera direkt inloggning med Azure Active Directory B2C.

  11. Under Identitetsproviderns anspråksmappning väljer du följande anspråk:

    • Användar-ID: sub
    • Visningsnamn: namn
    • Förnamn: given_name
    • Efternamn: family_name
    • E-post: e-post
  12. Välj Spara.

Lägg till Salesforce-identitetsleverantör i ett användarflöde

Vid det här laget har Salesforce-identitetsleverantören konfigurerats, men den är ännu inte tillgänglig på någon av inloggningssidorna. Så här lägger du till Salesforce-identitetsleverantören i ett användarflöde:

  1. I din Azure AD B2C-klient väljer du Användarflöden.
  2. Klicka på det användarflöde som du vill lägga till Salesforce-identitetsprovidern för.
  3. Under Sociala identitetsproviders väljer du Salesforce.
  4. Välj Spara.
  5. Om du vill testa principen väljer du Kör användarflöde.
  6. För Program väljer du webbprogrammet med namnet testapp1 som du registrerade tidigare. Svar-URL ska visa https://jwt.ms.
  7. Välj knappen Kör användarflöde .
  8. På registrerings- eller inloggningssidan väljer du Salesforce för att logga in med Salesforce-kontot.

Om inloggningsprocessen lyckas omdirigeras webbläsaren till https://jwt.ms, som visar innehållet i token som returneras av Azure AD B2C.

Skapa en principnyckel

Du måste lagra klienthemligheten som du tidigare registrerade i din Azure AD B2C-klientorganisation.

  1. Logga in på Azure-portalen.
  2. Om du har åtkomst till flera klientorganisationer väljer du ikonen Inställningar på den översta menyn för att växla till din Azure AD B2C-klientorganisation från menyn Kataloger + prenumerationer.
  3. Välj Alla tjänster i det övre vänstra hörnet i Azure-portalen och sök sedan efter och välj Azure AD B2C.
  4. På sidan Översikt väljer du Identity Experience Framework.
  5. Välj Principnycklar och välj sedan Lägg till.
  6. För Alternativ väljer du Manual.
  7. Ange ett Namn för principnyckeln. Till exempel SalesforceSecret. Prefixet B2C_1A_ läggs automatiskt till i namnet på din nyckel.
  8. I Hemlighet anger du din klienthemlighet som du tidigare har registrerat.
  9. För Nyckelanvändning väljer du Signature.
  10. Klicka på Skapa.

Konfigurera Salesforce som identitetsleverantör

Om du vill göra det möjligt för användare att logga in med ett Salesforce-konto måste du definiera kontot som en anspråksprovider som Azure AD B2C kan kommunicera med via en slutpunkt. Slutpunkten innehåller en uppsättning anspråk som används av Azure AD B2C för att verifiera att en viss användare har autentiserats.

Du kan definiera ett Salesforce-konto som en anspråksutfärdare genom att lägga till det i ClaimsProviders-elementet i tilläggsfilen för din policy.

  1. Öppna TrustFrameworkExtensions.xml.

  2. Hitta elementet ClaimsProviders . Om den inte finns lägger du till den under rotelementet.

  3. Lägg till en ny ClaimsProvider på följande sätt:

    <ClaimsProvider>
      <Domain>salesforce.com</Domain>
      <DisplayName>Salesforce</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="Salesforce-OpenIdConnect">
          <DisplayName>Salesforce</DisplayName>
          <Protocol Name="OpenIdConnect" />
          <Metadata>
            <Item Key="METADATA">https://login.salesforce.com/.well-known/openid-configuration</Item>
            <Item Key="response_types">code</Item>
            <Item Key="response_mode">form_post</Item>
            <Item Key="scope">openid id profile email</Item>
            <Item Key="HttpBinding">POST</Item>
            <Item Key="UsePolicyInRedirectUri">0</Item>
            <!-- Update the Client ID below to the Application ID -->
            <Item Key="client_id">Your Salesforce application ID</Item>
          </Metadata>
          <CryptographicKeys>
            <Key Id="client_secret" StorageReferenceId="B2C_1A_SalesforceSecret"/>
          </CryptographicKeys>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
            <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="family_name" />
            <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
            <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="salesforce.com" AlwaysUseDefaultValue="true" />
            <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
            <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
            <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
          </OutputClaimsTransformations>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  4. METADATA är inställd på URL:en för Salesforce OpenID Connect-konfigurationsdokumentet. För en sandbox-miljö ersätts login.salesforce.com med test.salesforce.com. För en community ersätts login.salesforce.com med community-URL:en, till exempel username.force.com/.well-known/openid-configuration. URL:en måste vara HTTPS.

  5. Ange client_id till program-ID från programregistreringen.

  6. Spara filen.

Lägg till en användarresa

I det här läget har identitetsprovidern konfigurerats, men den är ännu inte tillgänglig på någon av inloggningssidorna. Om du inte har en egen anpassad användarresa skapar du en dubblett av en befintlig mallanvändarresa, annars fortsätter du till nästa steg.

  1. Öppna filenTrustFrameworkBase.xml från startpaketet.
  2. Hitta och kopiera hela innehållet i elementet UserJourney som innehåller Id="SignUpOrSignIn".
  3. Öppna TrustFrameworkExtensions.xml och leta upp elementet UserJourneys . Om elementet inte finns lägger du till ett.
  4. Klistra in hela innehållet i elementet UserJourney som du kopierade som ett underordnat element till UserJourneys.
  5. Byt namn på ID:t för användarens resa. Till exempel Id="CustomSignUpSignIn".

Lägg till identitetsleverantören i en användarupplevelse

Nu när du har en användarresa lägger du till den nya identitetsprovidern i användarresan. Du lägger först till en inloggningsknapp och länkar sedan knappen till en åtgärd. Åtgärden är den tekniska profil som du skapade tidigare.

  1. Leta reda på orkestreringsstegelementet som innehåller Type="CombinedSignInAndSignUp", eller Type="ClaimsProviderSelection" i användarresan. Det är vanligtvis det första orkestreringssteget. Elementet ClaimsProviderSelections innehåller en lista över identitetsprovidrar som en användare kan logga in med. Ordningen på elementen styr ordningen på de inloggningsknappar som visas för användaren. Lägg till ett ClaimsProviderSelection XML-element. Ange värdet TargetClaimsExchangeId till ett lämpligt namn.

  2. I nästa orkestreringssteg lägger du till ett ClaimsExchange-element . Ange ID:t till värdet för målanspråksutbytes-ID:t. Uppdatera TechnicalProfileReferenceId till ID:t för den tekniska profil som du skapade tidigare.

Följande XML visar de två första orkestreringsstegen för en användarresa med identitetsprovidern:

<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
  <ClaimsProviderSelections>
    ...
    <ClaimsProviderSelection TargetClaimsExchangeId="SalesforceExchange" />
  </ClaimsProviderSelections>
  ...
</OrchestrationStep>

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="SalesforceExchange" TechnicalProfileReferenceId="Salesforce-OpenIdConnect" />
  </ClaimsExchanges>
</OrchestrationStep>

Konfigurera policyn för den förlitande parten

Principen för förlitande part, till exempel SignUpSignIn.xml, anger den användarresa som Azure AD B2C ska köra. Hitta elementet DefaultUserJourney under den förlitande parten. Uppdatera ReferenceId så att det matchar användarens rese-ID, där du lade till identitetsprovidern.

I följande exempel, för användarupplevelsen, är CustomSignUpSignIn inställt på :

<RelyingParty>
  <DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
  ...
</RelyingParty>

Ladda upp den anpassade policyn

  1. Logga in på Azure-portalen.
  2. Välj ikonen Katalog + prenumeration i portalens verktygsfält och välj sedan den katalog som innehåller din Azure AD B2C-klientorganisation.
  3. I Azure Portal söker du efter och väljer Azure AD B2C.
  4. Under kategorin Principer väljer du Identity Experience Framework.
  5. Välj Överför anpassad princip och ladda sedan upp de två principfilerna som du ändrade i följande ordning: tilläggsprincipen, till exempel TrustFrameworkExtensions.xml, och sedan den förlitande partprincipen, till exempel SignUpSignIn.xml.

Testa din anpassade policy

  1. Välj din policy för förlitande part, till exempel B2C_1A_signup_signin.
  2. För Program väljer du ett webbprogram som du registrerade tidigare. Svar-URL ska visa https://jwt.ms.
  3. Välj knappen Kör nu .
  4. På registrerings- eller inloggningssidan väljer du Salesforce för att logga in med Salesforce-kontot.

Om inloggningsprocessen lyckas omdirigeras webbläsaren till https://jwt.ms, som visar innehållet i token som returneras av Azure AD B2C.

Nästa steg

Lär dig hur du skickar Salesforce-token till ditt program.