Share via


Bejelentkezés beállítása Salesforce SAML-szolgáltatóval SAML protokoll használatával az Azure Active Directory B2C-ben

Mielőtt hozzákezdene, a Szabályzattípus kiválasztása választóval válassza ki a beállított szabályzat típusát. Az Azure Active Directory B2C két módszert kínál annak meghatározására, hogy a felhasználók hogyan használják az alkalmazásokat: előre definiált felhasználói folyamatokon vagy teljesen konfigurálható egyéni szabályzatokon keresztül. A cikkben szereplő lépések különbözőek az egyes metódusok esetében.

Ez a funkció csak egyéni szabályzatokhoz érhető el. A beállítási lépésekhez válassza az egyéni szabályzatot az előző választóban.

Megjegyzés:

Az Azure Active Directory B2C-ben az egyéni szabályzatok elsősorban összetett helyzetek kezelésére szolgálnak. A legtöbb forgatókönyv esetében javasoljuk, hogy beépített felhasználói folyamatokat használjon. Ha még nem tette meg, ismerkedjen meg az egyéni szabályzatok kezdőcsomagjával az Egyéni szabályzatok használatának első lépései az Active Directory B2C-ben.

Ez a cikk bemutatja, hogyan engedélyezheti a bejelentkezést egy Salesforce-szervezet felhasználói számára egyéni szabályzatok használatával az Azure Active Directory B2C-ben (Azure AD B2C). A bejelentkezés engedélyezéséhez saml-identitásszolgáltatót kell hozzáadnia egy egyéni szabályzathoz.

Előfeltételek

A Salesforce beállítása identitásszolgáltatóként

  1. Jelentkezzen be a Salesforce-ba.
  2. A bal oldali menü Gépház területén bontsa ki az Identitás elemet, majd válassza az Identitásszolgáltató lehetőséget.
  3. Válassza az Identitásszolgáltató engedélyezése lehetőséget.
  4. A Tanúsítvány kiválasztása csoportban válassza ki azt a tanúsítványt, amelyet a Salesforce használni szeretne az Azure AD B2C-vel való kommunikációhoz. Használhatja az alapértelmezett tanúsítványt.
  5. Kattintson a Save (Mentés) gombra.

Csatlakoztatott alkalmazás létrehozása a Salesforce-ban

  1. Az Identitásszolgáltató lapon válassza a Szolgáltatók lehetőséget, amely most már Csatlakozás alkalmazásokon keresztül jön létre. Kattintson ide.

  2. Az Alapszintű információk területen adja meg a csatlakoztatott alkalmazáshoz szükséges értékeket.

  3. A WebAlkalmazás Gépház csoportban jelölje be az SAML engedélyezése jelölőnégyzetet.

  4. Az Entitásazonosító mezőben adja meg a következő URL-címet. Győződjön meg arról, hogy az értéket your-tenant az Azure AD B2C-bérlő nevére cseréli.

    https://your-tenant.b2clogin.com/your-tenant.onmicrosoft.com/B2C_1A_TrustFrameworkBase
    

    Egyéni tartomány használata esetén használja a következő formátumot:

    https://your-domain-name/your-tenant.onmicrosoft.com/B2C_1A_TrustFrameworkBase
    
  5. Az ACS URL-cím mezőjébe írja be a következő URL-címet. Győződjön meg arról, hogy az értéket your-tenant az Azure AD B2C-bérlő nevére cseréli.

    https://your-tenant.b2clogin.com/your-tenant.onmicrosoft.com/B2C_1A_TrustFrameworkBase/samlp/sso/assertionconsumer
    

    Egyéni tartomány használata esetén használja a következő formátumot:

    https://your-domain-name/your-tenant.onmicrosoft.com/B2C_1A_TrustFrameworkBase/samlp/sso/assertionconsumer
    
  6. Görgessen a lista aljára, majd kattintson a Mentés gombra.

A metaadatok URL-címének lekérése

  1. A csatlakoztatott alkalmazás áttekintési lapján kattintson a Kezelés gombra.
  2. Másolja ki a metaadat-felderítési végpont értékét, majd mentse. Ezt a cikk későbbi részében fogja használni.

A Salesforce-felhasználók összevonásának beállítása

  1. A csatlakoztatott alkalmazás Kezelés lapján kattintson a Profilok kezelése elemre.
  2. Válassza ki azOkat a profilokat (vagy felhasználói csoportokat), amelyeket össze szeretne egyesíteni az Azure AD B2C-vel. Rendszergazdaként jelölje be a System Rendszergazda istrator jelölőnégyzetet, hogy a Salesforce-fiók használatával egyesíthesse az összevonást.

Önaláírt tanúsítvány létrehozása

Ha még nem rendelkezik tanúsítvánnyal, használhat önaláírt tanúsítványt. Az önaláírt tanúsítvány olyan biztonsági tanúsítvány, amelyet nem egy hitelesítésszolgáltató (CA) ír alá, és nem biztosítja a hitelesítésszolgáltató által aláírt tanúsítvány biztonsági garanciáit.

Windows rendszeren a PowerShell New-SelfSignedCertificate parancsmagja segítségével hozzon létre tanúsítványt.

  1. Futtassa a következő PowerShell-parancsot egy önaláírt tanúsítvány létrehozásához. Módosítsa az argumentumot az -Subject alkalmazáshoz és az Azure AD B2C-bérlő nevéhez, például contosowebapp.contoso.onmicrosoft.com. A dátumot úgy is módosíthatja -NotAfter , hogy a tanúsítvány lejárata eltérő legyen.

    New-SelfSignedCertificate `
        -KeyExportPolicy Exportable `
        -Subject "CN=yourappname.yourtenant.onmicrosoft.com" `
        -KeyAlgorithm RSA `
        -KeyLength 2048 `
        -KeyUsage DigitalSignature `
        -NotAfter (Get-Date).AddMonths(12) `
        -CertStoreLocation "Cert:\CurrentUser\My"
    
  2. Windows rendszerű számítógépen keresse meg és válassza a Felhasználói tanúsítványok kezelése lehetőséget

  3. A Tanúsítványok – Aktuális felhasználó csoportban válassza a Személyes>tanúsítványok>yourappname.yourtenant.onmicrosoft.com lehetőséget.

  4. Jelölje ki a tanúsítványt, majd válassza az Összes tevékenység>exportálása művelet>lehetőséget.

  5. Válassza a Következő>igen lehetőséget, exportálja a Következő titkos kulcsot.>

  6. Fogadja el a fájlformátum exportálásának alapértelmezett értékét, majd válassza a Tovább gombot.

  7. Engedélyezze a Jelszó beállítást, adjon meg egy jelszót a tanúsítványhoz, majd válassza a Tovább gombot.

  8. A tanúsítvány mentési helyének megadásához válassza a Tallózás lehetőséget , és keresse meg a kívánt könyvtárat.

  9. A Mentés másként ablakban adjon meg egy fájlnevet, majd válassza a Mentés lehetőséget.

  10. Válassza a Next>Finish (Tovább > Befejezés) elemet.

Ahhoz, hogy az Azure AD B2C elfogadja a .pfx fájljelszót, a jelszót az AES256-SHA256 helyett a Windows Tanúsítványtár exportálási segédprogram TripleDES-SHA1 beállításával kell titkosítani.

Szabályzatkulcs létrehozása

Az Azure AD B2C-bérlőben létrehozott tanúsítványt el kell tárolnia.

  1. Jelentkezzen be az Azure Portalra.
  2. Ha több bérlőhöz is hozzáfér, a felső menüben válassza a Gépház ikont az Azure AD B2C-bérlőre való váltáshoz a Címtárak + előfizetések menüből.
  3. Válassza az Összes szolgáltatást az Azure Portal bal felső sarkában, majd keresse meg és válassza az Azure AD B2C-t.
  4. Az Áttekintés lapon válassza az Identity Experience Framework lehetőséget.
  5. Válassza a Házirendkulcsok lehetőséget, majd válassza a Hozzáadás lehetőséget.
  6. A Beállítások beállításnál válassza a Uploadlehetőséget.
  7. Adja meg a szabályzat nevét. Például SAMLSigningCert. A rendszer automatikusan hozzáadja az előtagot B2C_1A_ a kulcs nevéhez.
  8. Keresse meg és válassza ki a létrehozott B2CSigningCert.pfx tanúsítványt.
  9. Adja meg a tanúsítvány jelszavát .
  10. Click Create.

Jogcímszolgáltató hozzáadása

Ha azt szeretné, hogy a felhasználók Egy Salesforce-fiók használatával jelentkezzenek be, meg kell határoznia azt a fiókot jogcímszolgáltatóként, amellyel az Azure AD B2C egy végponton keresztül tud kommunikálni. A végpont olyan jogcímeket biztosít, amelyeket az Azure AD B2C használ annak ellenőrzésére, hogy egy adott felhasználó hitelesített-e.

A Salesforce-fiókot jogcímszolgáltatóként úgy határozhatja meg, hogy hozzáadja azt a szabályzat bővítményfájljában lévő ClaimsProviders elemhez. További információ: SAML-identitásszolgáltató definiálása.

  1. Nyissa meg az TrustFrameworkExtensions.xml fájlt.

  2. Keresse meg a ClaimsProviders elemet. Ha nem létezik, adja hozzá a gyökérelemhez.

  3. Adjon hozzá egy új ClaimsProvidert az alábbiak szerint:

    <ClaimsProvider>
      <Domain>salesforce.com</Domain>
      <DisplayName>Salesforce</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="Salesforce-SAML2">
          <DisplayName>Salesforce</DisplayName>
          <Description>Login with your Salesforce account</Description>
          <Protocol Name="SAML2"/>
          <Metadata>
            <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="SamlMessageSigning" StorageReferenceId="B2C_1A_SAMLSigningCert"/>
          </CryptographicKeys>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" 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="socialIdpAuthentication"/>
            <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="salesforce.com" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName"/>
            <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName"/>
            <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId"/>
            <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId"/>
          </OutputClaimsTransformations>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-Saml-idp"/>
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  4. Frissítse a PartnerEntity értékét a korábban másolt Salesforce metaadat-URL-címmel.

  5. Frissítse a StorageReferenceId mindkét példányának értékét az aláíró tanúsítvány kulcsának nevére. Például B2C_1A_SAMLSigningCert.

  6. Keresse meg a szakaszt <ClaimsProviders> , és adja hozzá a következő XML-kódrészletet. Ha a szabályzat már tartalmazza a SM-Saml-idp technikai profilt, ugorjon a következő lépésre. További információ: egyszeri bejelentkezés munkamenet-kezelés.

    <ClaimsProvider>
      <DisplayName>Session Management</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="SM-Saml-idp">
          <DisplayName>Session Management Provider</DisplayName>
          <Protocol Name="Proprietary" Handler="Web.TPEngine.SSO.SamlSSOSessionProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
          <Metadata>
            <Item Key="IncludeSessionIndex">false</Item>
            <Item Key="RegisterServiceProviders">false</Item>
          </Metadata>
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  7. Mentse a fájlt.

Felhasználói folyamat hozzáadása

Ezen a ponton az identitásszolgáltató be van állítva, de még nem érhető el egyik bejelentkezési oldalon sem. Ha nem rendelkezik saját egyéni felhasználói folyamatokkal, hozzon létre egy meglévő sablonfelhasználói folyamat másolatát, ellenkező esetben folytassa a következő lépéssel.

  1. Nyissa meg az TrustFrameworkBase.xml fájlt a kezdőcsomagból.
  2. Keresse meg és másolja ki a UserJourney elem teljes tartalmát, amely tartalmazza Id="SignUpOrSignIn"a elemet.
  3. Nyissa meg az TrustFrameworkExtensions.xml fájlt , és keresse meg a UserJourneys elemet. Ha az elem nem létezik, adjon hozzá egyet.
  4. Illessze be a UserJourney elem gyermekként másolt UserJourney elem teljes tartalmát.
  5. Nevezze át a felhasználói folyamat azonosítóját. For example, Id="CustomSignUpSignIn".

Identitásszolgáltató hozzáadása egy felhasználói folyamathoz

Most, hogy már rendelkezik felhasználói folyamatokkal, adja hozzá az új identitásszolgáltatót a felhasználói folyamathoz. Először hozzáad egy bejelentkezési gombot, majd csatolja a gombot egy művelethez. A művelet a korábban létrehozott technikai profil.

  1. Keresse meg a vezénylési lépés azon elemét, amely tartalmazza Type="CombinedSignInAndSignUp"vagy Type="ClaimsProviderSelection" a felhasználói folyamat során. Általában ez az első vezénylési lépés. A ClaimsProviderSelections elem azon identitásszolgáltatók listáját tartalmazza, amelyekkel a felhasználó bejelentkezhet. Az elemek sorrendje szabályozza a felhasználónak megjelenített bejelentkezési gombok sorrendjét. Adjon hozzá egy ClaimsProviderSelection XML-elemet. Állítsa be a TargetClaimsExchangeId értékét egy rövid névre.

  2. A következő vezénylési lépésben adjon hozzá egy ClaimsExchange elemet. Állítsa az azonosítót a cél jogcímcsere-azonosító értékére. Frissítse a TechnicalProfileReferenceId értékét a korábban létrehozott műszaki profil azonosítójára.

Az alábbi XML a felhasználói folyamat első két vezénylési lépését mutatja be az identitásszolgáltatóval:

<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-SAML2" />
  </ClaimsExchanges>
</OrchestrationStep>

A függő entitás házirendjének konfigurálása

A függő entitás házirendje( például SignUpSignIn.xml) meghatározza az Azure AD B2C által végrehajtandó felhasználói folyamatot. Keresse meg a DefaultUserJourney elemet a függő entitáson belül. Frissítse a referenciaazonosítót a felhasználói útazonosítónak megfelelően, amelyben hozzáadta az identitásszolgáltatót.

A következő példában a CustomSignUpSignIn felhasználói folyamat referenciaazonosítója a következőre CustomSignUpSignInvan állítva:

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

Az egyéni szabályzat feltöltése

  1. Jelentkezzen be az Azure Portalra.
  2. Válassza a Címtár + Előfizetés ikont a portál eszköztárán, majd válassza ki az Azure AD B2C-bérlőt tartalmazó könyvtárat.
  3. Az Azure Portalon keresse meg és válassza ki az Azure AD B2C-t.
  4. A Szabályzatok területen válassza az Identity Experience Framework lehetőséget.
  5. Válassza az Egyéni házirend feltöltése lehetőséget, majd töltse fel a módosított két házirendfájlt a következő sorrendben: a bővítményházirend, például TrustFrameworkExtensions.xmla függő entitás házirendje, például SignUpSignIn.xml.

Egyéni szabályzat tesztelése

  1. Válassza ki például B2C_1A_signup_signina függő entitás szabályzatát.
  2. Alkalmazás esetén válasszon ki egy korábban regisztrált webalkalmazást. A Válasz URL-címnek meg kell jelennie https://jwt.ms.
  3. Válassza a Futtatás most gombot.
  4. A regisztrációs vagy bejelentkezési oldalon válassza a Salesforce lehetőséget a Salesforce-fiókkal való bejelentkezéshez.

Ha a bejelentkezési folyamat sikeres, a rendszer átirányítja a böngészőt, amely megjeleníti az Azure AD B2C által visszaadott https://jwt.msjogkivonat tartalmát.