Dela via


Lägga till AD FS som en OpenID-Anslut identitetsprovider med anpassade principer i Azure Active Directory B2C

Innan du börjar använder du väljaren Välj en principtyp för att välja den typ av princip som du konfigurerar. Azure Active Directory B2C erbjuder två metoder för att definiera hur användare interagerar med dina program: via fördefinierade användarflöden eller genom fullständigt konfigurerbara anpassade principer. De steg som krävs i den här artikeln skiljer sig åt för varje metod.

Förutsättningar

Skapa ett AD FS-program

Om du vill aktivera inloggning för användare med ett AD FS-konto i Azure Active Directory B2C (Azure AD B2C) skapar du en programgrupp i din AD FS. Mer information finns i Skapa ett webbprogram med OpenID Anslut med AD FS 2016 och senare

Följ dessa steg för att skapa en programgrupp:

  1. I Serverhanteraren väljer du Verktyg och sedan AD FS Management.
  2. Högerklicka på Programgrupper i AD FS-hantering och välj Lägg till programgrupp.
  3. På välkomstskärmen i programgruppsguiden:
    1. Ange namnetditt program. Till exempel Azure AD B2C-program.
    2. Under Klient-Server-program väljer du webbläsaren som kommer åt en webbprogrammall .
    3. Välj Nästa.
  4. På programgruppsguidens inbyggda programskärm :
    1. Kopiera värdet för klientidentifierare . Klientidentifieraren är ditt AD FS-program-ID. Du behöver program-ID senare i den här artikeln.
    2. I Omdirigerings-URI anger du https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authrespoch sedan Lägg till. Om du använder en anpassad domän anger du https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp. Ersätt your-tenant-name med namnet på din klientorganisation och your-domain-name med din anpassade domän.
    3. Välj Nästa och sedan Nästa och sedan Nästa igen för att slutföra appregistreringsguiden.
    4. Välj Stäng.

Konfigurera appanspråken

I det här steget konfigurerar du anspråk som AD FS-programmet returnerar till Azure AD B2C.

  1. I Programgrupper väljer du det program som du skapade.

  2. I fönstret Programegenskaper går du till program och väljer webbprogrammet. Välj sedan Redigera. Screenshot that shows how to edit a web application.

  3. Välj fliken Regler för utfärdandetransformering . Välj sedan Lägg till regel.

  4. I Mall för anspråksregel väljer du Skicka LDAP-attribut som anspråk och sedan Nästa.

  5. Ange ett namn på anspråksregeln. För Attributarkivet väljer du Active Directory och lägger till följande anspråk.

    LDAP-attribut Utgående anspråkstyp
    Användarens huvudnamn upn
    Surname family_name
    Angivet namn given_name
    Visningsnamn name

    Observera att några av namnen inte visas i listrutan för utgående anspråkstyp. Du måste skriva in dem manuellt (listrutan kan redigeras).

  6. Välj Slutför.

  7. Välj Använd och sedan OK.

  8. Välj OK igen för att slutföra.

Konfigurera AD FS som identitetsprovider

  1. Logga in på Azure Portal som global administratör för din Azure AD B2C-klientorganisationen.

  2. Om du har åtkomst till flera klienter väljer du ikonen Inställningar på den översta menyn för att växla till din Azure AD B2C-klient från menyn Kataloger + prenumerationer.

  3. Välj Alla tjänster på menyn högst upp till vänster i Azure-portalen och sök efter och välj Azure AD B2C.

  4. Välj Identitetsprovidrar och välj sedan Ny OpenID-Anslut provider.

  5. Ange ett Namn. Till exempel Contoso.

  6. För Metadata-URL anger du URL:en för dokumentet AD FS OpenID Anslut Configuration. Till exempel:

    https://adfs.contoso.com/adfs/.well-known/openid-configuration 
    
  7. För Klient-ID anger du det program-ID som du registrerade tidigare.

  8. För omfånget anger du openid.

  9. Som Svarstyp väljer du id_token. Därför behövs inte värdet Klienthemlighet . Läs mer om användning av klient-ID och hemlighet när du lägger till en allmän OpenID-Anslut identitetsprovider.

  10. (Valfritt) För domäntipset anger du contoso.com. Mer information finns i Konfigurera direkt inloggning med Azure Active Directory B2C.

  11. Under Identitetsproviderns anspråksmappning väljer du följande anspråk:

    • Användar-ID: upn
    • Visningsnamn: unique_name
    • Förnamn: given_name
    • Efternamn: family_name
  12. Välj Spara.

Lägga till AD FS-identitetsprovider i ett användarflöde

Nu har AD FS-identitetsprovidern (Contoso) konfigurerats, men den är ännu inte tillgänglig på någon av inloggningssidorna. Så här lägger du till AD FS-identitetsprovidern i ett användarflöde:

  1. I din Azure AD B2C-klient väljer du Användarflöden.
  2. Välj det användarflöde som du vill lägga till AD FS-identitetsprovidern (Contoso).
  3. Under Sociala identitetsprovidrar väljer du Contoso.
  4. Välj Spara.
  5. Om du vill testa principen väljer du Kör användarflöde.
  6. För Program väljer du webbprogrammet med namnet testapp1 som du registrerade tidigare. Svars-URL :en ska visa https://jwt.ms.
  7. Välj knappen Kör användarflöde.
  8. På registrerings- eller inloggningssidan väljer du Contoso för att logga in med Contoso-kontot.

Om inloggningsprocessen lyckas omdirigeras webbläsaren till https://jwt.ms, som visar innehållet i token som returneras av Azure AD B2C.

Konfigurera AD FS som identitetsprovider

För att göra det möjligt för användare att logga in med ett AD FS-konto måste du definiera AD FS som en anspråksprovider som Azure AD B2C kan kommunicera med via en slutpunkt.

  1. Öppna TrustFrameworkExtensions.xml.

  2. Hitta elementet ClaimsProviders . Om den inte finns lägger du till den under rotelementet.

  3. Lägg till en ny ClaimsProvider på följande sätt:

    <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. För metadata-URL:en anger du URL:en för dokumentet AD FS OpenID Anslut Configuration. Till exempel:

    https://adfs.contoso.com/adfs/.well-known/openid-configuration 
    
  5. Ange client_id till program-ID från programregistreringen.

  6. Spara filen.

Lägga till en användarresa

I det här läget har identitetsprovidern konfigurerats, men den är ännu inte tillgänglig på någon av inloggningssidorna. Om du inte har en egen anpassad användarresa skapar du en dubblett av en befintlig mallanvändarresa, annars fortsätter du till nästa steg.

  1. Öppna filen TrustFrameworkBase.xml från startpaketet.
  2. Hitta och kopiera hela innehållet i elementet UserJourney som innehåller Id="SignUpOrSignIn".
  3. Öppna TrustFrameworkExtensions.xml och leta upp elementet UserJourneys. Om elementet inte finns lägger du till ett.
  4. Klistra in hela innehållet i elementet UserJourney som du kopierade som underordnat elementet UserJourneys .
  5. Byt namn på ID:t för användarresan. Exempel: Id="CustomSignUpSignIn"

Lägga till identitetsprovidern i en användarresa

Nu när du har en användarresa lägger du till den nya identitetsprovidern i användarresan. Du lägger först till en inloggningsknapp och länkar sedan knappen till en åtgärd. Åtgärden är den tekniska profil som du skapade tidigare.

  1. Leta reda på orkestreringsstegelementet som innehåller Type="CombinedSignInAndSignUp", eller Type="ClaimsProviderSelection" i användarresan. Det är vanligtvis det första orkestreringssteget. Elementet ClaimsProviderSelections innehåller en lista över identitetsprovidrar som en användare kan logga in med. Ordningen på elementen styr ordningen på de inloggningsknappar som visas för användaren. Lägg till ett ClaimsProviderSelection XML-element. Ange värdet för TargetClaimsExchangeId till ett eget namn.

  2. I nästa orkestreringssteg lägger du till ett ClaimsExchange-element . Ange ID:t till värdet för målanspråkets utbytes-ID. Uppdatera värdet för TechnicalProfileReferenceId till ID:t för den tekniska profil som du skapade tidigare.

Följande XML visar de två första orkestreringsstegen för en användarresa med identitetsprovidern:

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

Konfigurera principen för förlitande part

Principen för förlitande part, till exempel SignUpSignIn.xml, anger den användarresa som Azure AD B2C ska köra. Hitta elementet DefaultUserJourney i den förlitande parten. Uppdatera ReferenceId så att det matchar användarens rese-ID, där du lade till identitetsprovidern.

I följande exempel CustomSignUpSignIn för användarresan är ReferenceId inställt på CustomSignUpSignIn:

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

Ladda upp den anpassade principen

  1. Logga in på Azure-portalen.
  2. Välj ikonen Katalog + prenumeration i portalens verktygsfält och välj sedan den katalog som innehåller din Azure AD B2C-klientorganisation.
  3. I Azure-portalen söker du efter och väljer Azure AD B2C.
  4. Under Principer väljer du Identity Experience Framework.
  5. Välj Överför anpassad princip och ladda sedan upp de två principfilerna som du ändrade i följande ordning: tilläggsprincipen, till exempel TrustFrameworkExtensions.xml, och sedan den förlitande partprincipen, till exempel SignUpSignIn.xml.

Testa din anpassade princip

  1. Välj din princip för förlitande part, till exempel B2C_1A_signup_signin.
  2. För Program väljer du ett webbprogram som du registrerade tidigare. Svars-URL :en ska visa https://jwt.ms.
  3. Välj knappen Kör nu.
  4. På registrerings- eller inloggningssidan väljer du Contoso för att logga in med Contoso-kontot.

Om inloggningsprocessen lyckas omdirigeras webbläsaren till https://jwt.ms, som visar innehållet i token som returneras av Azure AD B2C.

Nästa steg

Lär dig hur du skickar AD-FS-token till ditt program.