Dela via


Självstudie: Konfigurera Azure Active Directory B2C med BlokSec för lösenordslös autentisering

Innan du börjar

Azure Active Directory B2C har två metoder för att definiera användarinteraktioner med program: fördefinierade användarflöden eller konfigurerbara anpassade principer.

Anteckning

I Azure Active Directory B2C hanterar anpassade principer främst komplexa scenarier. I de flesta scenarier rekommenderar vi inbyggda användarflöden.
Översikt över användarflöden och anpassade principer

Azure AD B2C och BlokSec

Lär dig hur du integrerar Azure Active Directory B2C-autentisering (Azure AD B2C) med BlokSec Decentraliserad identitetsrouter. BlokSec-lösningen förenklar användarinloggning med lösenordslös autentisering och tokenlös multifaktorautentisering. Lösningen skyddar kunder mot identitetsrelaterade attacker, till exempel lösenordsfyllning, nätfiske och man-in-the-middle.

Mer information finns i bloksec.com: BlokSec Technologies Inc.

Scenariobeskrivning

BlokSec-integrering innehåller följande komponenter:

  • Azure AD B2C – auktoriseringsserver och identitetsprovider (IdP) för B2C-program
  • BlokSec Decentraliserad identitetsrouter – gateway för tjänster som tillämpar BlokSec DIaaS för att dirigera autentiserings- och auktoriseringsbegäranden till PIdP-program (Personal Identity Provider)
    • Det är en OpenID Connect-identitetsprovider (OIDC) i Azure AD B2C
  • BlokSec SDK-baserad mobilapp – användarenS PIdP i scenariot med decentraliserad autentisering.
    • Om du inte använder BlokSec SDK går du till Google Play för det kostnadsfria BlokSec yuID

Följande arkitekturdiagram illustrerar registreringsflödet, inloggningsflödet i Implementeringen av BlokSec-lösningen.

Diagram över registrerings-, inloggningsflödet i BlokSec-lösningsimplementeringen.

  1. Användaren loggar in på ett Azure AD B2C-program och vidarebefordras till Azure AD B2C-inloggnings- och registreringsprincip
  2. Azure AD B2C omdirigerar användaren till den decentraliserade identitetsroutern BlokSec med hjälp av OIDC-auktoriseringskodflödet.
  3. BlokSec-routern skickar ett push-meddelande till användarens mobilapp med information om autentiserings- och auktoriseringsbegäran.
  4. Användaren granskar autentiseringsuppgiften. En accepterad användare uppmanas att ange biometri, till exempel fingeravtryck eller ansiktsgenomsökning.
  5. Svaret signeras digitalt med användarens unika digitala nyckel. Autentiseringssvaret ger bevis på innehav, närvaro och medgivande. Svararen återgår till routern.
  6. Routern verifierar den digitala signaturen mot användarens oföränderliga unika offentliga nyckel som lagras i ett distribuerat transaktionsregister. Routern svarar på Azure AD B2C med autentiseringsresultatet.
  7. Användaren beviljas eller nekas åtkomst.

Aktivera BlokSec

  1. Gå till bloksec.com och välj Begär en demoklientorganisation .
  2. I meddelandefältet anger du att du vill integrera med Azure AD B2C.
  3. Ladda ned och installera den kostnadsfria Mobilappen BlokSec yuID.
  4. När demoklientorganisationen har förberetts kommer ett e-postmeddelande.
  5. På den mobila enheten med BlokSec-programmet väljer du länken för att registrera ditt administratörskonto med din yuID-app.

Förutsättningar

Du behöver följande för att komma igång:

Se även Självstudie: Skapa användarflöden och anpassade principer i Azure AD B2C

Skapa en programregistrering i BlokSec

I e-postmeddelandet om kontoregistrering från BlokSec hittar du länken till Administratörskonsolen för BlokSec.

  1. Logga in på Administratörskonsolen för BlokSec.
  2. På huvudinstrumentpanelen väljer du Lägg till program > Skapa anpassad.
  3. Som Namn anger du Azure AD B2C eller ett programnamn.
  4. För SSO-typ väljer du OIDC.
  5. För Logotyp-URI anger du en länk till logotypbilden.
  6. För omdirigerings-URI:er använder du https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authresp. Till exempel https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/oauth2/authresp. För en anpassad domän anger du https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp.
  7. För Omdirigerings-URI:er efter utloggning anger du https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/{policy}/oauth2/v2.0/logout.
  8. Välj det skapade Azure AD B2C-programmet för att öppna programkonfigurationen.
  9. Välj Generera apphemlighet.

Läs mer: Skicka en utloggningsbegäran.

Anteckning

Du behöver program-ID och programhemlighet för att konfigurera identitetsprovidern (IdP) i Azure AD B2C.

Lägga till en ny identitetsprovider i Azure AD B2C

För följande instruktioner använder du katalogen som innehåller din Azure AD B2C-klientorganisation.

  1. Logga in på Azure Portal som global administratör för din Azure AD B2C-klientorganisation.
  2. I portalens verktygsfält väljer du Kataloger + prenumerationer.
  3. sidan Portalinställningar, Kataloger + prenumerationer letar du upp din Azure AD B2C-katalog i listan Katalognamn.
  4. Välj Växla.
  5. I det övre vänstra hörnet i Azure Portal väljer du Alla tjänster.
  6. Sök efter och välj Azure AD B2C.
  7. Gå till Instrumentpanelen>Azure Active Directory B2C-identitetsprovidrar>.
  8. Välj Ny OpenID Connect-provider.
  9. Välj Lägg till.

Konfigurera en identitetsprovider

  1. Välj Identitetsprovidertyp > OpenID Connect
  2. Som Namn anger du BlokSec yuID Passwordless eller ett annat namn.
  3. För Metadata-URL anger du https://api.bloksec.io/oidc/.well-known/openid-configuration.
  4. För Klient-IDV anger du program-ID:t från administratörsgränssnittet för BlokSec.
  5. För Klienthemlighet anger du programhemligheten från administratörsgränssnittet för BlokSec.
  6. För Omfång väljer du OpenID-e-postprofil.
  7. Som Svarstyp väljer du Kod.
  8. För Domäntips väljer du yuID.
  9. Välj OK.
  10. Välj Mappa den här identitetsproviderns anspråk.
  11. För Användar-ID väljer du sub.
  12. Som Visningsnamn väljer du namn.
  13. För Förnamn använder du given_name.
  14. För Efternamn använder du family_name.
  15. Använd e-postför Email.
  16. Välj Spara.

Användarregistrering

  1. Logga in på BlokSec-administratörskonsolen med den angivna autentiseringsuppgiften.
  2. Gå till Azure AD B2C-program som skapades tidigare.
  3. Välj kugghjulsikonen längst upp till höger.
  4. Välj Skapa konto.
  5. I Skapa konto anger du användarinformation. Anteckna kontonamnet.
  6. Välj Skicka.

Användaren får ett e-postmeddelande om kontoregistrering på den angivna e-postadressen. Instruera användaren att välja registreringslänken på den mobila enheten med Appen BlokSec yuID.

Skapa en princip för användarflöde

För följande instruktioner kontrollerar du att BlokSec är en ny OIDC-identitetsprovider (IdP).

  1. Välj Användarflöden under Principer i din Azure AD B2C-klientorganisation.
  2. Välj Nytt användarflöde.
  3. Välj Registrera dig och logga in>Version>Skapa.
  4. Ange ett principnamn.
  5. I avsnittet identitetsprovidrar väljer du den skapade BlokSec-identitetsprovidern.
  6. För Lokalt konto väljer du Ingen. Den här åtgärden inaktiverar e-post och lösenordsbaserad autentisering.
  7. Välj Kör användarflöde
  8. I formuläret anger du svars-URL:en, till exempel https://jwt.ms.
  9. Webbläsaren omdirigeras till inloggningssidan för BlokSec.
  10. Ange kontonamnet från användarregistreringen.
  11. Användaren får ett push-meddelande på den mobila enheten med YuID-programmet BlokSec.
  12. Användaren öppnar meddelandet och autentiseringsuppgiften visas.
  13. Om autentisering accepteras omdirigerar webbläsaren användaren till svars-URL:en.

Anteckning

I Azure Active Directory B2C hanterar anpassade principer främst komplexa scenarier. I de flesta scenarier rekommenderar vi inbyggda användarflöden.
Se Översikt över användarflöden och anpassade principer

Skapa en principnyckel

Lagra den klienthemlighet som du antecknade i din Azure AD B2C-klientorganisation. Följ anvisningarna nedan genom att använda katalogen med din Azure AD B2C-klientorganisation.

  1. Logga in på Azure-portalen.
  2. I portalverktygsfältet väljer du Kataloger + prenumerationer.
  3. På sidan Kataloger + prenumerationer på portalinställningarna letar du upp din Azure AD B2C-katalog i listan Katalognamn.
  4. Välj Växla.
  5. I det övre vänstra hörnet i Azure Portal väljer du Alla tjänster
  6. Sök efter och välj Azure AD B2C.
  7. På sidan Översikt väljer du Identity Experience Framework.
  8. Välj Principnycklar.
  9. Välj Lägg till.
  10. För Alternativ väljer du Manuell.
  11. Ange ett principnamn för principnyckeln. Till exempel BlokSecAppSecret. Prefixet B2C_1A_ läggs till i nyckelnamnet.
  12. I Hemlighet anger du den klienthemlighet som du antecknade.
  13. För Nyckelanvändning väljer du Signatur.
  14. Välj Skapa.

Konfigurera BlokSec som en identitetsprovider

Om du vill göra det möjligt för användare att logga in med en decentraliserad BlokSec-identitet definierar du BlokSec som anspråksprovider. Den här åtgärden säkerställer Azure AD B2C kommunicerar med den via en slutpunkt. Azure AD B2C använder slutpunktsanspråk för att verifiera att användare autentiserar identitet med hjälp av biometri, till exempel fingeravtryck eller ansiktsskanning.

Om du vill definiera BlokSec som en anspråksprovider lägger du till den i elementet ClaimsProvider i principtilläggsfilen.

  1. Öppna TrustFrameworkExtensions.xml.

  2. Hitta elementet ClaimsProviders . Om elementet inte visas lägger du till det under rotelementet.

  3. Så här lägger du till en ny ClaimsProvider:

    <ClaimsProvider>
      <Domain>bloksec</Domain>
      <DisplayName>BlokSec</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="BlokSec-OpenIdConnect">
          <DisplayName>BlokSec</DisplayName>
          <Description>Login with your BlokSec decentriled identity</Description>
          <Protocol Name="OpenIdConnect" />
          <Metadata>
            <Item Key="METADATA">https://api.bloksec.io/oidc/.well-known/openid-configuration</Item>
            <!-- Update the Client ID below to the BlokSec Application ID -->
            <Item Key="client_id">00000000-0000-0000-0000-000000000000</Item>
            <Item Key="response_types">code</Item>
            <Item Key="scope">openid profile email</Item>
            <Item Key="response_mode">form_post</Item>
            <Item Key="HttpBinding">POST</Item>
            <Item Key="UsePolicyInRedirectUri">false</Item>
            <Item Key="DiscoverMetadataByTokenIssuer">true</Item>
            <Item Key="ValidTokenIssuerPrefixes">https://api.bloksec.io/oidc</Item>
          </Metadata>
          <CryptographicKeys>
            <Key Id="client_secret" StorageReferenceId="B2C_1A_BlokSecAppSecret" />
          </CryptographicKeys>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
            <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
            <OutputClaim ClaimTypeReferenceId="surName" PartnerClaimType="family_name" />
            <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" />
            <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
            <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
            <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
            <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId" />
          </OutputClaimsTransformations>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  4. Ange client_id till program-ID:t från programregistreringen.

  5. Välj Spara.

Lägga till en användarresa

Använd följande instruktioner om identitetsprovidern har konfigurerats, men inte på någon inloggningssida. Om du inte har en anpassad användarresa kopierar du en mallanvändarresa.

  1. Öppna filen från startpaketet TrustFrameworkBase.xml .
  2. Hitta och kopiera innehållet i elementet UserJourneys som innehåller ID=SignUpOrSignIn.
  3. Öppna TrustFrameworkExtensions.xml.
  4. Leta upp elementet UserJourneys . Om elementet inte visas lägger du till ett.
  5. Klistra in innehållet i elementet UserJourney som du kopierade som underordnat elementet UserJourneys .
  6. Byt namn på användarresans ID. Till exempel ID=CustomSignUpSignIn.

Lägga till identitetsprovidern i en användarresa

Om du har en användarresa lägger du till den nya identitetsprovidern i den. Lägg först till en inloggningsknapp och länka den sedan till en åtgärd, som är den tekniska profil som du skapade.

  1. I användarresan letar du upp orkestreringsstegelementet som innehåller Type=CombinedSignInAndSignUp, eller Type=ClaimsProviderSelection. Det är vanligtvis det första orkestreringssteget. Elementet ClaimsProviderSelections innehåller en lista över identitetsprovidrar för användarinloggning. Ordningen på elementen styr ordningen på de inloggningsknappar som användaren ser.
  2. Lägg till xml-elementet ClaimsProviderSelection .
  3. Ange värdet för TargetClaimsExchangeId till ett eget namn.
  4. I nästa orkestreringssteg lägger du till ett ClaimsExchange-element .
  5. Ange ID :t till värdet för målanspråkets utbytes-ID.
  6. Uppdatera värdet för TechnicalProfileReferenceId till ID:t för den tekniska profil som du skapade.

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

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

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

Konfigurera principen för förlitande part

Principen för förlitande part, till exempel SignUpSignIn.xml, anger användarresan Azure AD B2C körs.

  1. Hitta elementet DefaultUserJourney i den förlitande parten.
  2. Uppdatera ReferenceId så att det matchar användarresans ID, där du har lagt till identitetsprovidern.

I följande exempel CustomSignUpOrSignIn för användarresan anges ReferenceId till CustomSignUpOrSignIn.

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

Ladda upp den anpassade principen

Följ anvisningarna nedan genom att använda katalogen med din Azure AD B2C-klientorganisation.

  1. Logga in på Azure-portalen.
  2. I portalverktygsfältet väljer du Kataloger + prenumerationer.
  3. På sidan Kataloger + prenumerationer på portalinställningarna letar du upp din Azure AD B2C-katalog i listan Katalognamn
  4. Välj Växla.
  5. I Azure Portal söker du efter och väljer Azure AD B2C.
  6. Under Principer väljer du Identity Experience Framework.
  7. Välj Överför anpassad princip.
  8. Ladda upp de två principfilerna som du ändrade i följande ordning:
  • Tilläggsprincip, till exempel TrustFrameworkExtensions.xml
  • Princip för förlitande part, till exempel SignUpSignIn.xml

Testa den anpassade principen

  1. Välj principen för förlitande part, till exempel B2C_1A_signup_signin.
  2. För Program väljer du ett webbprogram som du har registrerat.
  3. Svars-URL:en visas som https://jwt.ms.
  4. Välj Kör nu.
  5. På registrerings- eller inloggningssidan väljer du Google för att logga in med Google-konto.
  6. Webbläsaren omdirigeras till https://jwt.ms. Se det tokeninnehåll som returneras av Azure AD B2C.

Läs mer: Självstudie: Registrera en webbapp i Azure Active Directory B2C

Nästa steg