Dela via


Konfigurera registrering och inloggning med ett Azure AD B2C-konto från en annan Azure AD B2C-klientorganisation

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.

Kommentar

I Azure Active Directory B2C är anpassade principer främst utformade för att hantera komplexa scenarier. I de flesta scenarier rekommenderar vi att du använder inbyggda användarflöden. Om du inte har gjort det kan du läsa mer om startpaketet för anpassad princip i Kom igång med anpassade principer i Active Directory B2C.

Översikt

I den här artikeln beskrivs hur du konfigurerar en federation med en annan Azure AD B2C-klientorganisation. När dina program skyddas med din Azure AD B2C kan användare från andra Azure AD B2C-användare logga in med sina befintliga konton. I följande diagram kan användare logga in på ett program som skyddas av Contosos Azure AD B2C, med ett konto som hanteras av Fabrikams Azure AD B2C-klientorganisation. I det här fallet måste användarkontot finnas i Fabrikams klientorganisation innan ett program som skyddas av Contosos Azure AD B2C kan försöka logga in.

Azure AD B2C federation with another Azure AD B2C tenant

Förutsättningar

Verifiera programmets utgivardomän

Från och med november 2020 visas nya programregistreringar som overifierade i uppmaningen om användarmedgivande såvida inte programmets utgivardomän verifierasoch företagets identitet har verifierats med Microsoft Partner Network och associerats med programmet. (Läs mer om den här ändringen.) Observera att för Azure AD B2C-användarflöden visas utgivarens domän endast när du använder ett Microsoft-konto eller en annan Microsoft Entra-klientorganisation som identitetsprovider. Gör följande för att uppfylla dessa nya krav:

  1. Verifiera företagets identitet med hjälp av ditt MPN-konto (Microsoft Partner Network). Den här processen verifierar information om ditt företag och företagets primära kontakt.
  2. Slutför verifieringsprocessen för utgivaren för att associera ditt MPN-konto med din appregistrering med något av följande alternativ:

Skapa ett Azure AD B2C-program

Så här aktiverar du inloggning för användare med ett konto från en annan Azure AD B2C-klientorganisation (till exempel Fabrikam) i Azure AD B2C (till exempel Contoso):

  1. Skapa ett användarflöde eller en anpassad princip.
  2. Skapa sedan ett program i Azure AD B2C enligt beskrivningen i det här avsnittet.

Skapa ett program.

  1. Logga in på Azure-portalen.

  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. I Azure-portalen söker du efter och väljer Azure AD B2C.

  4. Välj Appregistreringar och välj sedan Ny registrering.

  5. Ange ett namn för programmet. Till exempel ContosoApp.

  6. Under Kontotyper som stöds, välj Konton i valfri identitetsleverantör eller organisationskatalog (för autentisering av användare med användarflöden).

  7. Under Omdirigerings-URI väljer du Webb och anger sedan följande URL i alla gemener, där your-B2C-tenant-name ersätts med namnet på din Azure AD B2C-klientorganisation (till exempel Contoso).

    https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authresp
    

    Exempel: https://contoso.b2clogin.com/contoso.onmicrosoft.com/oauth2/authresp

    Om du använder en anpassad domän anger du https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp. Ersätt your-domain-name med din anpassade domän och your-tenant-name med namnet på din klientorganisation.

  8. Under Behörigheter markerar du kryssrutan Bevilja administratörsmedgivande till openid och offline_access behörigheter .

  9. Välj Registrera.

  10. På sidan Azure AD B2C – Appregistreringar väljer du det program som du skapade, till exempel ContosoApp.

  11. Registrera program-ID:t (klient) som visas på programöversiktssidan. Du behöver detta när du konfigurerar identitetsprovidern i nästa avsnitt.

  12. I den vänstra menyn går du till Hantera och väljer Certifikathemligheter&.

  13. Välj Ny klienthemlighet.

  14. Ange en beskrivning av klienthemligheten i rutan Beskrivning . Till exempel clientsecret1.

  15. Under Upphör att gälla väljer du en varaktighet för vilken hemligheten är giltig och väljer sedan Lägg till.

  16. Registrera hemlighetens värde. Du behöver detta när du konfigurerar identitetsprovidern i nästa avsnitt.

Konfigurera Azure AD B2C som identitetsprovider

  1. Logga in på Azure-portalen.

  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. Ange till exempel Fabrikam.

  6. För Metadata-URL anger du följande URL som {tenant} ersätter med domännamnet för din Azure AD B2C-klient (till exempel Fabrikam). {policy} Ersätt med det principnamn som du konfigurerar i den andra klientorganisationen:

    https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/v2.0/.well-known/openid-configuration
    

    Exempel: https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/B2C_1_susi/v2.0/.well-known/openid-configuration

  7. För Klient-ID anger du det program-ID som du registrerade tidigare.

  8. För Klienthemlighet anger du den klienthemlighet som du tidigare har registrerat.

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

  10. Lämna standardvärdena för Svarstyp och Svarsläge.

  11. (Valfritt) För domäntipset anger du det domännamn som du vill använda för direkt inloggning. Till exempel fabrikam.com.

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

    • Användar-ID: sub
    • Visningsnamn: namn
    • Förnamn: given_name
    • Efternamn: family_name
    • E-post: e-post
  13. Välj Spara.

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

  1. I din Azure AD B2C-klient väljer du Användarflöden.
  2. Klicka på det användarflöde som du vill lägga till Azure AD B2C-identitetsprovidern.
  3. Under De sociala identitetsprovidrar väljer du Fabrikam.
  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 Fabrikam för att logga in med den andra Azure AD B2C-klientorganisationen.

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

Skapa en principnyckel

Du måste lagra programnyckeln som du skapade tidigare i din Azure AD B2C-klientorganisation.

  1. 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.
  2. 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.
  3. Under Principer väljer du Identity Experience Framework.
  4. Välj Principnycklar och välj sedan Lägg till.
  5. För Alternativ väljer du Manual.
  6. Ange ett Namn för principnyckeln. Exempel: FabrikamAppSecret Prefixet B2C_1A_ läggs automatiskt till i namnet på din nyckel när det skapas, så dess referens i XML i följande avsnitt är att B2C_1A_FabrikamAppSecret.
  7. I Hemlighet anger du din klienthemlighet som du registrerade tidigare.
  8. För Nyckelanvändning väljer du Signature.
  9. Välj Skapa.

Konfigurera Azure AD B2C som identitetsprovider

För att göra det möjligt för användare att logga in med ett konto från en annan Azure AD B2C-klientorganisation (Fabrikam) måste du definiera den andra Azure AD B2C som en anspråksprovider som Azure AD B2C kan kommunicera med via en slutpunkt. Slutpunkten innehåller en uppsättning anspråk som används av Azure AD B2C för att verifiera att en viss användare har autentiserats.

Du kan definiera Azure AD B2C som en anspråksprovider genom att lägga till Azure AD B2C i elementet ClaimsProvider i tilläggsfilen för principen.

  1. Öppna filen 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>fabrikam.com</Domain>
      <DisplayName>Federation with Fabrikam tenant</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="AzureADB2CFabrikam-OpenIdConnect">
        <DisplayName>Fabrikam</DisplayName>
        <Protocol Name="OpenIdConnect"/>
        <Metadata>
          <!-- Update the Client ID below to the Application ID -->
          <Item Key="client_id">00000000-0000-0000-0000-000000000000</Item>
          <!-- Update the metadata URL with the other Azure AD B2C tenant name and policy name -->
          <Item Key="METADATA">https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/v2.0/.well-known/openid-configuration</Item>
          <Item Key="UsePolicyInRedirectUri">false</Item>
          <Item Key="response_types">code</Item>
          <Item Key="scope">openid</Item>
          <Item Key="response_mode">form_post</Item>
          <Item Key="HttpBinding">POST</Item>
        </Metadata>
        <CryptographicKeys>
          <Key Id="client_secret" StorageReferenceId="B2C_1A_FabrikamAppSecret"/>
        </CryptographicKeys>
        <OutputClaims>
          <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
          <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
          <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="family_name" />
          <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
          <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" />
          <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss"  />
          <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
          <OutputClaim ClaimTypeReferenceId="otherMails" PartnerClaimType="emails"/>    
        </OutputClaims>
        <OutputClaimsTransformations>
          <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
          <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
          <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
        </OutputClaimsTransformations>
        <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin"/>
      </TechnicalProfile>
     </TechnicalProfiles>
    </ClaimsProvider>
    
  4. Uppdatera följande XML-element med relevant värde:

    XML-element Värde
    ClaimsProvider\Domain Domännamnet som används för direkt inloggning. Ange det domännamn som du vill använda i direktinloggningen. Till exempel fabrikam.com.
    TechnicalProfile\DisplayName Det här värdet visas på inloggningsknappen på inloggningsskärmen. Till exempel Fabrikam.
    Metadata\client_id Programidentifieraren för identitetsprovidern. Uppdatera klient-ID:t med det program-ID som du skapade tidigare i den andra Azure AD B2C-klientorganisationen.
    Metadata\METADATA En URL som pekar på ett konfigurationsdokument för OpenID Anslut identitetsprovider, som även kallas openID välkänd konfigurationsslutpunkt. Ange följande URL som {tenant} ersätter med domännamnet för den andra Azure AD B2C-klientorganisationen (Fabrikam). {tenant} Ersätt med det principnamn som du konfigurerar i den andra klientorganisationen och {policy] med principnamnet: https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/v2.0/.well-known/openid-configuration. Exempel: https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/B2C_1_susi/v2.0/.well-known/openid-configuration
    CryptographicKeys Uppdatera värdet för StorageReferenceId till namnet på den principnyckel som du skapade tidigare. Exempel: B2C_1A_FabrikamAppSecret

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

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="AzureADB2CFabrikamExchange" TechnicalProfileReferenceId="AzureADB2CFabrikam-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 Fabrikam för att logga in med den andra Azure AD B2C-klientorganisationen.

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 den andra Azure AD B2C-token till ditt program.