Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Od 1 maja 2025 r. usługa Azure AD B2C nie będzie już dostępna do zakupu dla nowych klientów. Dowiedz się więcej w naszych często zadawanych pytaniach.
Przed rozpoczęciem użyj selektora Wybierz typ zasad w górnej części tej strony, aby wybrać typ konfigurowanych zasad. Usługa Azure Active Directory B2C oferuje dwie metody definiowania sposobu interakcji użytkowników z aplikacjami: za pomocą wstępnie zdefiniowanych przepływów użytkowników lub w pełni konfigurowalnych zasad niestandardowych. Kroki wymagane w tym artykule są różne dla każdej metody.
Ta funkcja jest dostępna tylko dla zasad niestandardowych. Aby uzyskać instrukcje konfiguracji, wybierz pozycję Zasady niestandardowe w poprzednim selektorze.
Uwaga / Notatka
W usłudze Azure Active Directory B2C niestandardowe zasady są przeznaczone głównie do rozwiązywania złożonych scenariuszy. W przypadku większości scenariuszy zalecamy używanie wbudowanych przepływów użytkownika. Jeśli nie zostało to zrobione, dowiedz się więcej o niestandardowym pakiecie startowym zasad w temacie Wprowadzenie do zasad niestandardowych w usłudze Active Directory B2C.
W tym artykule pokazano, jak włączyć logowanie dla użytkowników z organizacji usługi Salesforce przy użyciu zasad niestandardowych w usłudze Azure Active Directory B2C (Azure AD B2C). Funkcję logowania można włączyć, dodając dostawcę tożsamości SAML do niestandardowej polityki.
Wymagania wstępne
- Wykonaj kroki opisane w Jak rozpocząć z zasadami niestandardowymi w usłudze Active Directory B2C. W tym samouczku przedstawiono sposób aktualizowania niestandardowych plików zasad, aby korzystać z konfiguracji kont usługi Azure AD B2C.
- Jeśli nie zarejestrowałeś jeszcze aplikacji webowej, zarejestruj ją, korzystając z kroków w zarejestruj aplikację webową.
- Jeśli jeszcze tego nie zrobiono, utwórz konto bezpłatnej wersji Developer Edition. W tym artykule jest używane środowisko Salesforce Lightning Experience.
- Skonfiguruj My Domain dla organizacji Salesforce.
Skonfiguruj Salesforce jako dostawcę tożsamości
- Zaloguj się do usługi Salesforce.
- W menu po lewej stronie, w obszarze Ustawienia, rozwiń Tożsamość, a następnie wybierz Dostawcę tożsamości.
- Wybierz Włącz dostawcę tożsamości.
- W obszarze Wybierz certyfikat wybierz certyfikat, którego usługa Salesforce ma używać do komunikowania się z usługą Azure AD B2C. Możesz użyć certyfikatu domyślnego.
- Kliknij przycisk Zapisz.
Tworzenie połączonej aplikacji w usłudze Salesforce
Na stronie Dostawca tożsamości wybierz pozycję Dostawcy usług są teraz tworzeni za pośrednictwem połączonych aplikacji. Kliknij tutaj.
W obszarze Podstawowe informacje wprowadź wymagane wartości dla połączonej aplikacji.
W obszarze Ustawienia aplikacji internetowej zaznacz pole Włącz protokół SAML .
W polu Identyfikator jednostki wprowadź następujący adres URL. Upewnij się, że zastąpisz wartość parametru
your-tenant
nazwą dzierżawcy usługi Azure AD B2C.https://your-tenant.b2clogin.com/your-tenant.onmicrosoft.com/B2C_1A_TrustFrameworkBase
W przypadku korzystania z domeny niestandardowej użyj następującego formatu:
https://your-domain-name/your-tenant.onmicrosoft.com/B2C_1A_TrustFrameworkBase
W polu Adres URL usługi ACS wprowadź następujący adres URL. Upewnij się, że zastąpisz wartość parametru
your-tenant
nazwą dzierżawcy usługi Azure AD B2C.https://your-tenant.b2clogin.com/your-tenant.onmicrosoft.com/B2C_1A_TrustFrameworkBase/samlp/sso/assertionconsumer
W przypadku korzystania z domeny niestandardowej użyj następującego formatu:
https://your-domain-name/your-tenant.onmicrosoft.com/B2C_1A_TrustFrameworkBase/samlp/sso/assertionconsumer
Przewiń w dół listy, a następnie kliknij przycisk Zapisz.
Uzyskiwanie adresu URL metadanych
- Na stronie przeglądu połączonej aplikacji kliknij pozycję Zarządzaj.
- Skopiuj wartość punktu końcowego odnajdywania metadanych, a następnie zapisz ją. Użyjesz go w dalszej części tego artykułu.
Konfigurowanie użytkowników usługi Salesforce w celu federacji
- Na stronie Zarządzanie połączonej aplikacji kliknij pozycję Zarządzaj profilami.
- Wybierz profile (lub grupy użytkowników), które chcesz sfederować z usługą Azure AD B2C. Jako administrator systemu zaznacz pole wyboru Administrator systemu, aby można było sfederować przy użyciu konta usługi Salesforce.
Tworzenie certyfikatu z podpisem własnym
Jeśli nie masz jeszcze certyfikatu, możesz użyć certyfikatu z podpisem własnym. Certyfikat z podpisem własnym jest certyfikatem zabezpieczeń, który nie jest podpisany przez urząd certyfikacji i nie zapewnia gwarancji bezpieczeństwa certyfikatu podpisanego przez urząd certyfikacji.
W systemie Windows użyj polecenia cmdlet New-SelfSignedCertificate w programie PowerShell, aby wygenerować certyfikat.
Uruchom następujące polecenie programu PowerShell, aby wygenerować certyfikat z podpisem własnym. Zmodyfikuj
-Subject
argument odpowiednio dla aplikacji i nazwy dzierżawy usługi Azure AD B2C, na przykładcontosowebapp.contoso.onmicrosoft.com
. Możesz również dostosować-NotAfter
datę, aby określić inne wygaśnięcie certyfikatu.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"
Na komputerze z systemem Windows wyszukaj i wybierz pozycję Zarządzaj certyfikatami użytkowników
W obszarze Certyfikaty — bieżący użytkownik wybierz pozycję Certyfikaty>yourappname.yourtenant.onmicrosoft.com.
Wybierz certyfikat, a następnie wybierz pozycję Akcja>Wszystkie zadania>eksportu.
Wybierz pozycję >prywatny Dalej.
Zaakceptuj wartości domyślne formatu pliku eksportu, a następnie wybierz przycisk Dalej.
Włącz opcję Hasło , wprowadź hasło dla certyfikatu, a następnie wybierz pozycję Dalej.
Aby określić lokalizację do zapisania certyfikatu, wybierz pozycję Przeglądaj i przejdź do wybranego katalogu.
W oknie Zapisz jako wprowadź nazwę pliku, a następnie wybierz pozycję Zapisz.
Wybierz pozycję Next>Finish (Zakończ).
Aby usługa Azure AD B2C akceptowała hasło pliku pfx, należy zaszyfrować hasło przy użyciu opcji TripleDES-SHA1 w narzędziu eksportu magazynu certyfikatów systemu Windows, w przeciwieństwie do AES256-SHA256.
Tworzenie klucza zasad
Musisz przechowywać certyfikat, który utworzyłeś w swojej dzierżawie usługi Azure AD B2C.
- Zaloguj się do witryny Azure Portal.
- Jeśli masz dostęp do wielu dzierżaw, wybierz ikonę Ustawienia w górnym menu, aby przełączyć się na dzierżawę Azure AD B2C z menu Katalogi + subskrypcje.
- Wybierz pozycję Wszystkie usługi w lewym górnym rogu witryny Azure Portal, a następnie wyszukaj i wybierz pozycję Azure AD B2C.
- Na stronie Przegląd ogólny wybierz pozycję Identity Experience Framework.
- Wybierz Klucze zasad, a następnie wybierz Dodaj.
- W obszarze Opcje wybierz pozycję
Upload
. - Wprowadź nazwę zasad. Na przykład SAMLSigningCert. Prefiks
B2C_1A_
jest automatycznie dodawany do nazwy klucza. - Przejrzyj do i wybierz certyfikat B2CSigningCert.pfx, który stworzyłeś.
- Wprowadź hasło dla certyfikatu.
- Kliknij pozycję Utwórz.
Dodaj dostawcę roszczeń
Jeśli chcesz, aby użytkownicy logowali się przy użyciu konta usługi Salesforce, musisz zdefiniować konto jako dostawcę oświadczeń, z którym usługa Azure AD B2C może komunikować się za pośrednictwem punktu końcowego. Punkt końcowy udostępnia zestaw oświadczeń używanych przez usługę Azure AD B2C do sprawdzania, czy określony użytkownik został uwierzytelniony.
Konto usługi Salesforce można zdefiniować jako dostawcę oświadczeń, dodając je do elementu ClaimsProviders w pliku rozszerzenia zasad. Aby uzyskać więcej informacji, zobacz definiowanie dostawcy tożsamości SAML.
Otwórz TrustFrameworkExtensions.xml.
Znajdź element ClaimsProviders . Jeśli nie istnieje, dodaj go pod elementem głównym.
Dodaj nowy element ClaimsProvider w następujący sposób:
<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>
Zaktualizuj wartość PartnerEntity przy użyciu skopiowanego wcześniej adresu URL metadanych usługi Salesforce.
Zaktualizuj wartość obu wystąpień StorageReferenceId na nazwę klucza swojego certyfikatu podpisywania. Na przykład B2C_1A_SAMLSigningCert.
Znajdź sekcję
<ClaimsProviders>
i dodaj następujący fragment kodu XML. Jeśli twoje zasady już zawierają profil technicznySM-Saml-idp
, przejdź do następnego kroku. Aby uzyskać więcej informacji, zobacz Zarządzanie sesjami logowania jednokrotnego.<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>
Zapisz plik.
Dodanie ścieżki użytkownika
W tym momencie dostawca tożsamości został skonfigurowany, ale nie jest jeszcze dostępny na żadnej ze stron logowania. Jeśli nie masz własnej niestandardowej podróży użytkownika, utwórz duplikat szablonu podróży użytkownika, inaczej przejdź do następnego kroku.
- Otwórz plik TrustFrameworkBase.xml z pakietu startowego.
- Znajdź i skopiuj całą zawartość elementu UserJourney , który zawiera
Id="SignUpOrSignIn"
element . - Otwórz TrustFrameworkExtensions.xml i znajdź element UserJourneys . Jeśli element nie istnieje, dodaj go.
- Wklej całą zawartość elementu UserJourney skopiowaną jako element podrzędny elementu UserJourneys .
- Zmień identyfikator podróży użytkownika. Na przykład
Id="CustomSignUpSignIn"
.
Dodaj dostawcę tożsamości do podróży użytkownika
Teraz, gdy masz ścieżkę użytkownika, dodaj nowego dostawcę tożsamości do tej ścieżki. Najpierw dodaj przycisk logowania, a następnie połącz przycisk z akcją. Akcja to utworzony wcześniej profil techniczny.
Znajdź element kroku aranżacji, który zawiera
Type="CombinedSignInAndSignUp"
lubType="ClaimsProviderSelection"
w ścieżce użytkownika. Zazwyczaj jest to pierwszy krok aranżacji. Element ClaimsProviderSelections zawiera listę dostawców tożsamości, za pomocą których użytkownik może się zalogować. Kolejność elementów kontroluje kolejność przycisków logowania przedstawionych użytkownikowi. Dodaj element XML ClaimsProviderSelection. Ustaw wartość TargetClaimsExchangeId na przyjazną nazwę.W następnym kroku aranżacji dodaj element ClaimsExchange . Ustaw Id na wartość identyfikatora wymiany oświadczeń dla celu. Zaktualizuj wartość TechnicalProfileReferenceId na Id profilu technicznego utworzonego wcześniej.
Poniższy kod XML przedstawia dwa pierwsze kroki orkiestracji podróży użytkownika z dostawcą tożsamości:
<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>
Konfigurowanie polityki podmiotu polegającego
Polityka zaufanej strony, na przykład SignUpSignIn.xml, określa podróż użytkownika, którą zrealizuje Azure AD B2C. Znajdź element DefaultUserJourney w stronie zaufanej. Zaktualizuj identyfikator ReferenceId , aby był zgodny z identyfikatorem podróży użytkownika, w którym dodano dostawcę tożsamości.
W poniższym przykładzie dla ścieżki użytkownika CustomSignUpSignIn
identyfikator ReferenceId jest ustawiony na:CustomSignUpSignIn
<RelyingParty>
<DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
...
</RelyingParty>
Przekaż zasady niestandardowe
- Zaloguj się do witryny Azure Portal.
- Wybierz ikonę Katalog i subskrypcja na pasku narzędzi portalu, a następnie wybierz katalog zawierający dzierżawę usługi Azure AD B2C.
- W witrynie Azure Portal wyszukaj i wybierz pozycję Azure AD B2C.
- W obszarze Policieswybierz pozycję Identity Experience Framework.
- Wybierz Załaduj zasady niestandardowe, a następnie załaduj dwa zmienione pliki zasad w następującej kolejności: zasady rozszerzenia, na przykład
TrustFrameworkExtensions.xml
, a następnie zasady strony zależnej, takie jakSignUpSignIn.xml
.
Przetestuj swoje zasady niestandardowe
- Wybierz zasady zaufanej strony, na przykład
B2C_1A_signup_signin
. - W polu Aplikacja wybierz wcześniej zarejestrowaną aplikację internetową. Adres URL odpowiedzi powinien zawierać wartość
https://jwt.ms
. - Wybierz przycisk Uruchom teraz .
- Na stronie rejestracji lub logowania wybierz pozycję Salesforce , aby zalogować się przy użyciu konta usługi Salesforce.
Jeśli proces logowania zakończy się pomyślnie, przeglądarka zostanie przekierowana do https://jwt.ms
, gdzie wyświetlana jest zawartość tokenu zwróconego przez Azure AD B2C.