Udostępnij za pośrednictwem


Dodaj AD FS jako dostawcę tożsamości OpenID Connect, korzystając z zasad niestandardowych w usłudze Azure Active Directory B2C

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.

Wymagania wstępne

Utwórz aplikację usług AD FS

Aby włączyć logowanie użytkowników przy użyciu konta usług AD FS w usłudze Azure Active Directory B2C (Azure AD B2C), utwórz grupę aplikacji w usługach AD FS. Aby uzyskać więcej informacji, zobacz Tworzenie aplikacji internetowej przy użyciu programu OpenID Connect z usługami AD FS 2016 i nowszych

Aby utworzyć grupę aplikacji, wykonaj następujące kroki:

  1. W Menedżerze serwera wybierz pozycję Narzędzia, a następnie wybierz pozycję Zarządzanie usługami AD FS.
  2. W Zarządzanie usługą AD FS kliknij prawym przyciskiem myszy Grupy aplikacji i wybierz Dodaj grupę aplikacji.
  3. Na ekranie powitalnym Kreatora grup aplikacji:
    1. Wprowadź nazwę aplikacji. Na przykład aplikacja usługi Azure AD B2C.
    2. W obszarze Client-Server aplikacji wybierz przeglądarkę internetową, która uzyskuje dostęp do szablonu aplikacji internetowej .
    3. Wybierz Dalej.
  4. Na ekranie Kreatora grup aplikacji Aplikacja natywna:
    1. Skopiuj wartość identyfikatora klienta . Identyfikator klienta to Twój identyfikator aplikacji AD FS. W dalszej części tego artykułu będzie potrzebny identyfikator aplikacji.
    2. W polu Identyfikator URI przekierowania wprowadź ciąg https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp, a następnie kliknij Dodaj. Jeśli używasz domeny niestandardowej, wprowadź.https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp Zastąp your-tenant-name nazwą dzierżawcy i your-domain-name domeną niestandardową.
    3. Wybierz Dalej, a następnie Dalej, a później ponownie Dalej, aby ukończyć pracę kreatora rejestracji aplikacji.
    4. Wybierz Zamknij.

Skonfiguruj żądania aplikacji

W tym kroku skonfiguruj oświadczenia, które aplikacja usługi AD FS zwraca do usługi Azure AD B2C.

  1. W obszarze Grupy aplikacji wybierz utworzoną aplikację.

  2. W oknie właściwości aplikacji w obszarze Aplikacje wybierz pozycję Aplikacja internetowa. Następnie wybierz pozycję Edytuj. Zrzut ekranu przedstawiający sposób edytowania aplikacji internetowej.

  3. Wybierz kartę Reguły przekształcania wystawiania. Następnie wybierz Dodaj regułę.

  4. W szablonie reguły oświadczenia wybierz pozycję Wyślij atrybuty LDAP jako oświadczenia, a następnie pozycję Dalej.

  5. Podaj nazwę reguły roszczenia. W Magazynie atrybutów wybierz Active Directory, dodaj następujące żądania.

    Atrybut LDAP Typ roszczenia wychodzącego
    Użytkownik —Principal-Name UPN
    Nazwisko nazwisko rodzinne
    Given-Name given_name
    Display-Name nazwa

    Zwróć uwagę, że pewne nazwy nie będą wyświetlane na liście rozwijanej typ zgłoszenia wychodzącego. Musisz ręcznie wpisać je (lista rozwijana jest edytowalna).

  6. Wybierz Zakończ

  7. Wybierz pozycję Zastosuj, a następnie przycisk OK.

  8. Wybierz ponownie przycisk OK , aby zakończyć.

Skonfiguruj AD FS jako dostawcę tożsamości

  1. Zaloguj się do witryny Azure Portal przy użyciu konta, które ma co najmniej uprawnienia administratora zewnętrznego dostawcy tożsamości .

  2. 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.

  3. Wybierz pozycję Wszystkie usługi w lewym górnym rogu witryny Azure Portal, a następnie wyszukaj i wybierz pozycję Azure AD B2C.

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

  5. W polu Nazwa wprowadź nazwę. Na przykład Contoso.

  6. W polu Adres URL metadanych wprowadź URL dokumentu konfiguracji OpenID Connect w usłudze AD FS. Przykład:

    https://adfs.contoso.com/adfs/.well-known/openid-configuration 
    
  7. Dla identyfikatora klienta , wprowadź wcześniej zarejestrowany identyfikator aplikacji.

  8. W polu Zakres wprowadź openid.

  9. W polu Typ odpowiedzi wybierz pozycję id_token. Dlatego wartość tajnego kodu klienta nie jest potrzebna. Dowiedz się więcej na temat użycia identyfikatora klienta i sekretu podczas dodawania dostawcy tożsamości OpenID Connect.

  10. (Opcjonalnie) W polu Wskazówka dotycząca domeny wprowadź wartość contoso.com. Aby uzyskać więcej informacji, zobacz Konfigurowanie logowania bezpośredniego przy użyciu usługi Azure Active Directory B2C.

  11. W obszarze Mapowanie oświadczeń dostawcy tożsamości wybierz następujące oświadczenia:

    • Identyfikator użytkownika: upn
    • Wyświetlana nazwa: unique_name
    • Imię i nazwisko: given_name
    • Nazwisko: family_name
  12. Wybierz Zapisz.

Dodaj dostawcę tożsamości AD FS do przepływu użytkownika

W tym momencie skonfigurowano dostawcę tożsamości AD FS (Contoso), ale nie jest on jeszcze dostępny na żadnych stronach logowania. Aby dodać dostawcę usług tożsamości AD FS do przepływu użytkownika:

  1. W dzierżawie Azure AD B2C wybierz opcję Przepływy użytkownika.
  2. Wybierz przepływ użytkownika, do którego chcesz dodać AD FS jako dostawcę tożsamości (Contoso).
  3. W obszarze Dostawcy tożsamości społecznościowych wybierz pozycję Contoso.
  4. Wybierz Zapisz.
  5. Aby przetestować politykę, wybierz pozycję Uruchom przepływ użytkownika.
  6. W polu Aplikacja wybierz aplikację internetową o nazwie testapp1 , która została wcześniej zarejestrowana. Adres URL odpowiedzi powinien zawierać wartość https://jwt.ms.
  7. Wybierz przycisk Uruchom przepływ użytkownika.
  8. Na stronie rejestracji lub logowania wybierz pozycję Contoso , aby zalogować się przy użyciu konta contoso.

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.

Skonfiguruj AD FS jako dostawcę tożsamości

Aby umożliwić użytkownikom logowanie się przy użyciu konta usług AD FS, należy zdefiniować usług AD FS jako dostawcę oświadczeń, z którym usługa Azure AD B2C może komunikować się za pośrednictwem punktu końcowego.

  1. Otwórz TrustFrameworkExtensions.xml.

  2. Znajdź element ClaimsProviders . Jeśli nie istnieje, dodaj go pod elementem głównym.

  3. Dodaj nowy element ClaimsProvider w następujący sposób:

    <ClaimsProvider>
      <Domain>contoso.com</Domain>
      <DisplayName>Contoso</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="Contoso-OpenIdConnect">
          <DisplayName>Contoso</DisplayName>
          <Protocol Name="OpenIdConnect" />
          <Metadata>
            <Item Key="METADATA">https://your-adfs-domain/adfs/.well-known/openid-configuration</Item>
            <Item Key="response_types">id_token</Item>
            <Item Key="response_mode">form_post</Item>
            <Item Key="scope">openid</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 AD FS application ID</Item>
          </Metadata>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="upn" />
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
            <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="family_name" />
            <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="unique_name" />
            <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>
    
  4. W polu Adres URL metadanych wprowadź adres URL dokumentu konfiguracji OpenID Connect dla usług AD FS. Przykład:

    https://adfs.contoso.com/adfs/.well-known/openid-configuration 
    
  5. Ustaw client_id na identyfikator aplikacji z rejestracji aplikacji.

  6. 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.

  1. Otwórz plik TrustFrameworkBase.xml z pakietu startowego.
  2. Znajdź i skopiuj całą zawartość elementu UserJourney , który zawiera Id="SignUpOrSignIn"element .
  3. Otwórz TrustFrameworkExtensions.xml i znajdź element UserJourneys . Jeśli element nie istnieje, dodaj go.
  4. Wklej całą zawartość elementu UserJourney skopiowaną jako element podrzędny elementu UserJourneys .
  5. 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.

  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 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ę.

  2. 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="ContosoExchange" />
  </ClaimsProviderSelections>
  ...
</OrchestrationStep>

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="ContosoExchange" TechnicalProfileReferenceId="Contoso-OpenIdConnect" />
  </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

  1. Zaloguj się do witryny Azure Portal.
  2. Wybierz ikonę Katalog i subskrypcja na pasku narzędzi portalu, a następnie wybierz katalog zawierający dzierżawę usługi Azure AD B2C.
  3. W witrynie Azure Portal wyszukaj i wybierz pozycję Azure AD B2C.
  4. W obszarze Policieswybierz pozycję Identity Experience Framework.
  5. 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 jak SignUpSignIn.xml.

Przetestuj swoje zasady niestandardowe

  1. Wybierz zasady zaufanej strony, na przykład B2C_1A_signup_signin.
  2. W polu Aplikacja wybierz wcześniej zarejestrowaną aplikację internetową. Adres URL odpowiedzi powinien zawierać wartość https://jwt.ms.
  3. Wybierz przycisk Uruchom teraz .
  4. Na stronie rejestracji lub logowania wybierz pozycję Contoso , aby zalogować się przy użyciu konta firmy Contoso.

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.

Dalsze kroki

Dowiedz się, jak przekazać token AD-FS do aplikacji.