Dodawanie usług AD FS jako dostawcy tożsamości openID Połączenie przy użyciu zasad niestandardowych w usłudze Azure Active Directory B2C

Przed rozpoczęciem użyj selektora Wybierz typ zasad, 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

Tworzenie aplikacji 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 interfejsu OpenID Połączenie z usługami AD FS 2016 i nowszych

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

  1. W Menedżer serwera wybierz pozycję Narzędzia, a następnie wybierz pozycję Zarządzanie usługami AD FS.
  2. W obszarze Zarządzanie usługami AD FS kliknij prawym przyciskiem myszy pozycję Grupy aplikacji i wybierz polecenie 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 Aplikacje client-Server wybierz przeglądarkę internetową, która uzyskuje dostęp do szablonu aplikacji internetowej.
    3. Wybierz Dalej.
  4. Na ekranie Aplikacja natywna Kreatora grup aplikacji :
    1. Kopiuj identyfikator klienta wartość. Identyfikator klienta to identyfikator aplikacji usług 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 pozycję Dodaj. Jeśli używasz domeny niestandardowej, wprowadź .https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp Zastąp your-tenant-name ciąg nazwą dzierżawy i your-domain-name domeną niestandardową.
    3. Wybierz przycisk Dalej, a następnie ponownie przycisk Dalej, aby ukończyć pracę kreatora rejestracji aplikacji.
    4. Wybierz Zamknij.

Konfigurowanie oświadczeń aplikacji

W tym kroku skonfiguruj oświadczenia aplikacji usług AD FS powraca 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. Wybierz pozycję Edytuj. Screenshot that shows how to edit a web application.

  3. Wybierz kartę Reguły przekształcania wystawiania. Następnie wybierz pozycję 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 oświadczenia. W polu Magazyn atrybutów wybierz pozycję Active Directory, dodaj następujące oświadczenia.

    Atrybut LDAP Typ oświadczenia wychodzącego
    User-Principal-Name upn
    Surname family_name
    Imię i nazwisko given_name
    Nazwa wyświetlana name

    Zwróć uwagę, że niektóre nazwy nie będą wyświetlane na liście rozwijanej typ oświadczenia 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ć.

Konfigurowanie usług AD FS jako dostawcy tożsamości

  1. Zaloguj się w witrynie Azure Portal jako administrator globalny dzierżawy usługi Azure AD B2C.

  2. Jeśli masz dostęp do wielu dzierżaw, wybierz ikonę Ustawienia w górnym menu, aby przełączyć się do dzierżawy usługi Azure AD B2C z menu Katalogi i subskrypcje.

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

  4. Wybierz pozycję Dostawcy tożsamości, a następnie wybierz pozycję Nowy dostawca openID Połączenie.

  5. Wprowadź nazwę. Na przykład Contoso.

  6. W polu Adres URL metadanych wprowadź adres URL dokumentu OpenID usługi AD FS Połączenie Configuration. Przykład:

    https://adfs.contoso.com/adfs/.well-known/openid-configuration 
    
  7. W polu Identyfikator klienta wprowadź wcześniej zarejestrowany identyfikator aplikacji.

  8. W polu Zakres wprowadź openidwartość .

  9. W polu Typ odpowiedzi wybierz pozycję id_token. Dlatego wartość wpisu tajnego klienta nie jest potrzebna. Dowiedz się więcej o użyciu identyfikatora klienta i wpisu tajnego podczas dodawania ogólnego dostawcy tożsamości OpenID Połączenie.

  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
    • Nazwa wyświetlana: unique_name
    • Imię i nazwisko: given_name
    • Nazwisko: family_name
  12. Wybierz pozycję Zapisz.

Dodawanie dostawcy tożsamości usług AD FS do przepływu użytkownika

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

  1. W dzierżawie usługi Azure AD B2C wybierz pozycję Przepływy użytkownika.
  2. Wybierz przepływ użytkownika, który chcesz dodać dostawcę tożsamości usług AD FS (Contoso).
  3. W obszarze Dostawcy tożsamości społecznościowych wybierz pozycję Contoso.
  4. Wybierz pozycję Zapisz.
  5. Aby przetestować zasady, 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.msusługi , która wyświetla zawartość tokenu zwróconego przez usługę Azure AD B2C.

Konfigurowanie usług AD FS jako dostawcy 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 plik 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 OpenID usług AD FS Połączenie Configuration. Przykład:

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

  6. Zapisz plik.

Dodawanie podróży 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 podróży użytkownika niestandardowego, utwórz duplikat istniejącej podróży użytkownika szablonu, w przeciwnym razie 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 plik 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ń nazwę identyfikatora podróży użytkownika. Na przykład Id="CustomSignUpSignIn".

Dodawanie dostawcy tożsamości do podróży użytkownika

Teraz, gdy masz podróż użytkownika, dodaj nowego dostawcę tożsamości do podróży użytkownika. 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"element , lub Type="ClaimsProviderSelection" w podróży 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 ClaimsProviderSelection XML. Ustaw wartość TargetClaimsExchangeId na przyjazną nazwę.

  2. W następnym kroku aranżacji dodaj element ClaimsExchange . Ustaw identyfikator na wartość identyfikatora wymiany oświadczeń docelowych. Zaktualizuj wartość TechnicalProfileReferenceId na identyfikator utworzonego wcześniej profilu technicznego.

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 zasad jednostki uzależnionej

Zasady jednostki uzależnionej, na przykład SignUpSignIn.xml, określają podróż użytkownika, który będzie wykonywany przez usługę 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 CustomSignUpSignIn dla podróży użytkownika identyfikator ReferenceId jest ustawiony na :CustomSignUpSignIn

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

Przekazywanie zasad niestandardowych

  1. Zaloguj się w witrynie 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 Zasady wybierz pozycję Identity Experience Framework.
  5. Wybierz pozycję Przekaż zasady niestandardowe, a następnie przekaż dwa zmienione pliki zasad w następującej kolejności: zasady rozszerzenia, na przykład TrustFrameworkExtensions.xml, a następnie zasady jednostki uzależnionej, takie jak SignUpSignIn.xml.

Testowanie zasad niestandardowych

  1. Wybierz zasady jednostki uzależnionej, 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.msusługi , która wyświetla zawartość tokenu zwróconego przez usługę Azure AD B2C.

Następne kroki

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