Udostępnij przez


Konfigurowanie zabezpieczeń transmisji za pomocą usługi Azure Active Directory B2C na potrzeby uwierzytelniania za pomocą kluczy dostępu

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.

Z tego samouczka dowiesz się, jak zintegrować uwierzytelnianie usługi Azure Active Directory B2C (Azure AD B2C) z rozwiązaniem uwierzytelniania hostowanych kluczy dostępu usługi Transmit Security. Usługa Transmit Security używa silnego uwierzytelniania biometrycznego Fast Identity Online (FIDO2) do niezawodnego uwierzytelniania wielokanałowego. Rozwiązanie zapewnia bezproblemowe środowisko logowania dla klientów na różnych urządzeniach i kanałach, jednocześnie zmniejszając oszustwa, wyłudzanie informacji i ponowne używanie poświadczeń.

Opis scenariusza

Poniższy diagram architektury ilustruje implementację:

Diagram architektury transmisji i usługi Azure AD B2C.

  1. Użytkownik otwiera stronę logowania usługi Azure AD B2C i loguje się lub rejestruje.
  2. Usługa Azure AD B2C przekierowuje użytkownika do usługi Transmit Security przy użyciu żądania OpenID Connect (OIDC).
  3. Usługa Transmit Security uwierzytelnia użytkownika przy użyciu bezaplikacyjnych danych biometrycznych FIDO2, takich jak odcisk palca.
  4. Odpowiedź zdecentralizowanego uwierzytelniania jest zwracana do Transmit Security.
  5. Odpowiedź OIDC jest przekazywana do usługi Azure AD B2C.
  6. Użytkownik otrzymuje lub odmawia dostępu do aplikacji na podstawie wyników weryfikacji.

Wymagania wstępne

Aby rozpocząć pracę, potrzebne są następujące elementy:

Krok 1. Tworzenie aplikacji do przesyłania

Zaloguj się w Transmit Admin Portal i utwórz aplikację:

  1. W obszarze Aplikacje wybierz pozycję Dodaj aplikację.

  2. Skonfiguruj aplikację przy użyciu następujących atrybutów:

    Majątek Opis
    Nazwa aplikacji Nazwa aplikacji
    Nazwa klienta Nazwa klienta
    Identyfikatory URI przekierowania https://<your-B2C-tenant>.b2clogin.com/<your-B2C-tenant>.onmicrosoft.com/oauth2/authresp gdzie <your-B2C-tenant> to domena dzierżawy Azure AD B2C (lub <your-B2C-tenant>.b2clogin.com to domena niestandardowa)
  3. Wybierz Dodaj.

  4. Po rejestracji zostanie wyświetlony identyfikator klienta i klucz tajny klienta . Zarejestruj wartości, które mają być używane później.

Krok 2. Konfigurowanie środowiska logowania

W portalu administracyjnym transmisji skonfiguruj środowisko uwierzytelniania użytkownika:

  1. Wybierz pozycję Uwierzytelnianie, a następnie wybierz pozycję Zarządzanie środowiskami.

  2. Z menu rozwijanego wybierz aplikację.

  3. Skonfiguruj aplikację przy użyciu następujących atrybutów:

    Majątek Opis
    Identyfikator użytkownika Wybierz E-mail
    Podstawowa metoda uwierzytelniania Wybierz Klucz dostępu
    Metoda uwierzytelniania pomocniczego Włączanie tylko protokołu WebAuthn QR i E-mail OTP
    Wybieranie informacji o użytkowniku Usuń wszystkie pola domyślne
  4. Wybierz Zapisz.

Krok 3: Dodaj Transmit jako dostawcę tożsamości

Aby umożliwić użytkownikom logowanie się przy użyciu usługi Transmit Security, skonfiguruj usługę Transmit Security jako nowy dostawca tożsamości. W usłudze Azure AD B2C wykonaj następujące kroki:

  1. Zaloguj się do portalu Azure jako co najmniej administrator zasad IEF B2C.

  2. Na pasku narzędzi portalu wybierz pozycję Katalogi i subskrypcje.

  3. W ustawieniach portalu | Strona Katalogi i subskrypcje na liście Nazwa katalogu znajdź katalog usługi Azure AD B2C, a następnie wybierz pozycję Przełącz.

  4. W obszarze Usługi platformy Azure wybierz pozycję Azure AD B2C (lub wybierz pozycję Więcej usług i użyj pola wyszukiwania Wszystkie usługi , aby wyszukać usługę Azure AD B2C).

  5. Wybierz pozycję Dostawcy tożsamości, a następnie wybierz pozycję Nowy dostawca OpenID Connect.

  6. Skonfiguruj dostawcę w następujący sposób:

    Majątek Opis
    Nazwa Nazwa, taka jak Transmit Security
    Adres URL metadanych https://api.transmitsecurity.io/cis/oidc/.well-known/openid-configuration
    identyfikator klienta Identyfikator klienta dostarczony przez usługę Transmit
    Klucz tajny klienta Tajny klucz klienta dostarczony przez Transmit
    Zakres openid email
    Typ odpowiedzi kod
    Tryb odpowiedzi form_post
    Nazwa wyświetlana email
    E-mail email
  7. Wybierz Zapisz.

Krok 4. Tworzenie przepływu użytkownika

W tym momencie skonfigurowano dostawcę tożsamości Transmit Security, ale nie jest jeszcze dostępny na żadnej ze stronach logowania. Aby dodać dostawcę tożsamości Transmit Security do przepływu użytkownika:

  1. W dzierżawie usługi Azure AD B2C w sekcji Zasady wybierz pozycję Przepływy użytkownika.
  2. Wybierz pozycję Nowy przepływ użytkownika.
  3. Wybierz pozycję Zarejestruj się i zaloguj się typ przepływu użytkownika, a następnie wybierz pozycję Utwórz.
  4. Wprowadź nazwę ścieżki użytkownika, na przykład signupsignin.
  5. W obszarze Dostawcy tożsamości:
    • W obszarze Konta lokalne wybierz pozycję Brak.
    • Dla Niestandardowych dostawców tożsamości wybierz dostawcę Transmit Security.
  6. Wybierz pozycję Utwórz , aby dodać przepływ użytkownika.

Krok 5. Testowanie przepływu użytkownika

  1. W dzierżawie usługi Azure AD B2C wybierz pozycję Przepływy użytkownika.
  2. Wybierz utworzony przepływ użytkownika, taki jak B2C_1_signupsignin.
  3. Wybierz pozycję Uruchom przepływ użytkownika:
    • W polu Aplikacja wybierz zarejestrowaną aplikację internetową.
    • W polu Adres URL odpowiedzi wybierz pozycję https://jwt.ms.
  4. Wybierz Uruchom przepływ użytkownika.
  5. Przeglądarka jest przekierowywana do strony logowania Transmit.
  6. Ukończ przepływ logowania: wprowadź adres e-mail konta i uwierzytelnij się przy użyciu danych biometrycznych (na przykład odcisk palca).
  7. Przeglądarka jest przekierowywana do https://jwt.ms z tokenem Azure AD B2C.

Krok 3. Tworzenie klucza zasad

Musisz przechowywać tajny klucz klienta swojej aplikacji Transmit, który wcześniej zarejestrowałeś w dzierżawie usługi Azure AD B2C.

  1. Zaloguj się do witryny Azure Portal.

  2. Na pasku narzędzi portalu wybierz pozycję Katalogi i subskrypcje.

  3. W ustawieniach portalu | Strona Katalogi i subskrypcje na liście Nazwa katalogu znajdź katalog usługi Azure AD B2C, a następnie wybierz pozycję Przełącz.

  4. Na stronie Przegląd w obszarze Zasady wybierz pozycję Identity Experience Framework.

  5. Wybierz Klucze zasad, a następnie wybierz Dodaj.

  6. Skonfiguruj klucz zasad w następujący sposób:

    Majątek Opis
    Opcje Instrukcja
    Nazwa Nazwa klucza zasad, taka jak TransmitClientSecret
    Wpis tajny Tajny klucz klienta dostarczony przez Transmit
    Użycie klucza Podpis
  7. Wybierz pozycję Utwórz , aby dodać klucz zasad.

Krok 4: Dodaj Transmit jako dostawcę tożsamości

Aby włączyć logowanie za pomocą Transmit Security, zdefiniuj Transmit Security jako dostawcę oświadczeń, z którym Azure AD B2C komunikuje się za pośrednictwem punktu końcowego. Punkt końcowy udostępnia oświadczenia używane przez usługę Azure AD B2C do weryfikowania użytkownika uwierzytelnionego przy użyciu tożsamości cyfrowej na urządzeniu.

Możesz zdefiniować Transmit Security jako dostawcę roszczeń, dodając go do elementu ClaimsProviders w pliku rozszerzenia swojej polityki.

  1. Pobierz pakiety początkowe zasad niestandardowych z usługi GitHub, a następnie zaktualizuj pliki XML w pakiecie startowym SocialAndLocalAccounts nazwą dzierżawy usługi Azure AD B2C:

    1. Pobierz plik .zip lub sklonuj repozytorium:

      git clone https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack
      
    2. W plikach w katalogu LocalAccounts zastąp ciąg yourtenant nazwą dzierżawy usługi Azure AD B2C.

  2. Otwórz LocalAccounts/ TrustFrameworkExtensions.xml.

  3. Znajdź element ClaimsProviders . Jeśli nie zostanie wyświetlony, dodaj go pod elementem głównym.

  4. Dodaj nowy element ClaimsProvider podobny do następującego przykładu:

     <ClaimsProvider>
         <Domain>api.transmitsecurity.io</Domain>
         <DisplayName>Transmit</DisplayName>
         <TechnicalProfiles>
           <TechnicalProfile Id="TS-OpenIdConnect">
             <DisplayName>Transmit</DisplayName>
             <Protocol Name="OpenIdConnect" />
             <Metadata>
               <Item Key="METADATA">https://api.transmitsecurity.io/cis/oidc/.well-known/openid-configuration</Item>
                <!-- Update the Client ID below to the Transmit Security client ID -->
               <Item Key="client_id">00001111-aaaa-2222-bbbb-3333cccc4444</Item>
               <Item Key="response_types">code</Item>
               <Item Key="scope">openid email</Item>
               <Item Key="response_mode">form_post</Item>
               <Item Key="HttpBinding">POST</Item>
               <Item Key="UsePolicyInRedirectUri">false</Item>
               <Item Key="AccessTokenResponseFormat">json</Item>
             </Metadata>
             <CryptographicKeys>
               <Key Id="client_secret" StorageReferenceId="B2C_1A_TransmitClientSecret" />
             </CryptographicKeys>
             <OutputClaims>
               <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
               <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" />
               <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" />
               <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>    
    
  5. Ustaw client_id za pomocą identyfikatora klienta Transmit Security.

  6. Zaktualizuj sekcję client_secret o nazwę utworzonego klucza zasad (na przykład B2C_1A_TransmitClientSecret):

    <Key Id="client_secret" StorageReferenceId="B2C_1A_TransmitClientSecret" />
    
  7. Wybierz Zapisz.

Krok 5. Dodawanie podróży użytkownika

Obecnie dostawca tożsamości jest skonfigurowany, ale nie jest jeszcze dostępny na żadnej stronie logowania. Jeśli masz niestandardową ścieżkę użytkownika, przejdź do kroku Dodaj transmisję do ścieżki użytkownika. W przeciwnym razie utwórz zduplikowaną szablonową podróż użytkownika.

  1. Otwórz plik LocalAccounts/ TrustFrameworkBase.xml w pakiecie startowym.
  2. Znajdź i skopiuj zawartość elementu UserJourney , który zawiera Id=SignUpOrSignInelement .
  3. Otwórz LocalAccounts/ TrustFrameworkExtensions.xml.
  4. Znajdź element UserJourneys . Jeśli nie ma żadnego elementu, dodaj go.
  5. Wklej element UserJourney jako element podrzędny elementu UserJourneys.
  6. Zmień nazwę identyfikatora podróży użytkownika (na przykład Id=TransmitSUSI)

Krok 6. Dodawanie transmisji do podróży użytkownika

Dodaj nowego dostawcę tożsamości do podróży użytkownika:

  1. Znajdź element kroku aranżacji, który zawiera Type=CombinedSignInAndSignUp lub Type=ClaimsProviderSelection w ścieżce użytkownika. Zazwyczaj jest to pierwszy krok aranżacji. Element ClaimsProviderSelections ma listę dostawców tożsamości, za pomocą których użytkownicy loguje się. Kolejność elementów kontroluje kolejność przycisków logowania.
  2. Dodaj element XML ClaimsProviderSelection.
  3. Ustaw wartość TargetClaimsExchangeId na przyjazną nazwę.
  4. Dodaj element ClaimsExchange .
  5. Ustaw identyfikator na wartość docelowego identyfikatora wymiany oświadczeń.
  6. Zaktualizuj wartość TechnicalProfileReferenceId na utworzony identyfikator profilu technicznego.

Poniższy kod XML przedstawia orkiestrację ścieżki użytkownika z dostawcą tożsamości.

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

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

Krok 7: Konfigurowanie zasad strony ufającej

Polityka zaufanej strony, na przykład SignUpSignIn.xml, określa ścieżkę użytkownika realizowaną przez Azure AD B2C. Znajdź element DefaultUserJourney w ramach jednostki uzależnionej. 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 TransmitSUSI identyfikator ReferenceId jest ustawiony na:TransmitSUSI

  <RelyingParty>
    <DefaultUserJourney ReferenceId="TransmitSUSI" />
    <TechnicalProfile Id="TS-OpenIdConnect">
      <DisplayName>PolicyProfile</DisplayName>
      <Protocol Name="OpenIdConnect" />
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="displayName" />
        <OutputClaim ClaimTypeReferenceId="givenName" />
        <OutputClaim ClaimTypeReferenceId="surname" />
        <OutputClaim ClaimTypeReferenceId="email" />
        <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
        <OutputClaim ClaimTypeReferenceId="identityProvider" />
        <OutputClaim ClaimTypeReferenceId="tenantId" AlwaysUseDefaultValue="true" DefaultValue="{Policy:TenantObjectId}" />
      </OutputClaims>
      <SubjectNamingInfo ClaimType="sub" />
    </TechnicalProfile>
  </RelyingParty>

Krok 8. Przesyłanie zasady niestandardowej

Korzystając z katalogu z dzierżawą usługi Azure AD B2C, przekaż zasady niestandardowe:

  1. Zaloguj się do witryny Azure Portal.
  2. Na pasku narzędzi portalu wybierz pozycję Katalogi i subskrypcje.
  3. W ustawieniach portalu | Strona Katalogi i subskrypcje na liście Nazwa katalogu znajdź katalog usługi Azure AD B2C, a następnie wybierz pozycję Przełącz.
  4. W obszarze Policieswybierz pozycję Identity Experience Framework.
  5. Wybierz Prześlij niestandardowe zasady, a następnie prześlij zaktualizowane pliki w następującej kolejności:
  • Podstawowe zasady, na przykład TrustFrameworkBase.xml
  • Zasady lokalizacji, na przykład TrustFrameworkLocalization.xml
  • Polityka rozszerzeń, na przykład TrustFrameworkExtensions.xml
  • Zasady podmiotu polegającego, takie jak SignUpOrSignIn.xml

Krok 9: Przetestuj swoje zasady niestandardowe

Korzystając z katalogu z dzierżawą usługi Azure AD B2C, przetestuj zasady niestandardowe:

  1. W dzierżawie Azure AD B2C, w sekcji Zasady, wybierz Identity Experience Framework.
  2. W obszarze Zasady niestandardowe wybierz B2C_1A_signup_signin.
  3. W polu Aplikacja wybierz zarejestrowaną aplikację internetową. Adres URL odpowiedzi to https://jwt.ms.
  4. Wybierz opcję Uruchom teraz.
  5. Przeglądarka jest przekierowywana do strony logowania Transmit.
  6. Ukończ przepływ logowania: wprowadź adres e-mail konta i uwierzytelnij się przy użyciu danych biometrycznych (na przykład odcisk palca).
  7. Przeglądarka jest przekierowywana do https://jwt.ms z tokenem Azure AD B2C.

Dalsze kroki

Aby uzyskać dodatkowe informacje, zapoznaj się z następującymi artykułami: