Freigeben über


Tutorial: Konfigurieren von Azure Active Directory B2C mit BlokSec für die kennwortlose Authentifizierung

Voraussetzungen

Azure Active Directory B2C bietet zwei Methoden zum Definieren von Benutzerinteraktionen bei Anwendungen: vordefinierte Benutzerflows oder konfigurierbare benutzerdefinierte Richtlinien.

Hinweis

In Azure Active Directory B2C sind benutzerdefinierte Richtlinien hauptsächlich für komplexe Szenarien konzipiert. Für die meisten Szenarien empfehlen wir integrierte Benutzerflows.
Lesen Sie dazu Übersicht über Benutzerflows und benutzerdefinierte Richtlinien.

Azure AD B2C und BlokSec

Informieren Sie sich, wie Sie die Azure Active Directory B2C (Azure AD B2C)-Authentifizierung in den dezentralisierten BlokSec-Identitätsrouter integrieren. Die BlokSec-Lösung vereinfacht die Benutzeranmeldung mit kennwortloser Authentifizierung und mehrstufiger Authentifizierung ohne Token. Die Lösung schützt Kunden vor identitätsbezogenen Angriffen wie Password Stuffing, Phishing und Man-in-the-Middle.

Weitere Informationen finden Sie unter „bloksec.com“: BlokSec Technologies Inc.

Beschreibung des Szenarios

Die BlokSec-Integration umfasst die folgenden Komponenten:

  • Azure AD B2C – Autorisierungsserver und Identitätsanbieter (IdP) für B2C-Anwendungen
  • Dezentralisierter BlokSec-Identitätsrouter – Gateway für Dienste, die Authentifizierungs- und Autorisierungsanforderungen mithilfe von BlokSec DIaaS an Personal Identity Provider (PIdP)-Anwendungen von Benutzern weiterleiten
    • Es handelt sich dabei um einen OpenID Connect (OIDC)-Identitätsanbieter in Azure AD B2C.
  • Mobile, auf dem BlokSec-SDK basierende App – PIdP der Benutzer im dezentralisierten Authentifizierungsszenario.
    • Wenn Sie das BlokSec-SDK nicht verwenden, wechseln Sie zu Google Play, um die kostenlose BlokSec-App „yuID“ zu erhalten.

Das folgende Architekturdiagramm veranschaulicht den Registrierungs- und Anmeldeflow in der BlokSec-Lösungsimplementierung.

Diagramm des Registrierungs- und Anmeldeflows in der BlokSec-Lösungsimplementierung

  1. Ein Benutzer meldet sich bei einer Azure AD B2C-Anwendung an und wird zur Anmelde- und Registrierungsrichtlinie von Azure AD B2C weitergeleitet.
  2. Azure AD B2C leitet den Benutzer mithilfe des OIDC-Autorisierungscodeflows zum dezentralisierten BlokSec-Identitätsrouter weiter.
  3. Der BlokSec-Router sendet eine Pushbenachrichtigung mit Details zur Authentifizierungs- und Autorisierungsanforderung an die mobile Benutzer-App.
  4. Der Benutzer überprüft die Authentifizierungsanforderung. Ein akzeptierter Benutzer wird zur Biometrie aufgefordert, z. B. einem Fingerabdruck oder Gesichtsscan.
  5. Die Antwort wird mit dem eindeutigen digitalen Schlüssel des Benutzers digital signiert. Die Authentifizierungsantwort liefert den Eigentumsnachweis, die Präsenz und Einwilligung. Die Antwort wird an den Router zurückgesendet.
  6. Der Router überprüft die digitale Signatur mit dem unveränderlichen eindeutigen öffentlichen Schlüssel des Benutzers, der in einem Distributed Ledger gespeichert ist. Dann sendet der Router eine Antwort mit dem Authentifizierungsergebnis an Azure AD B2C.
  7. Dem Benutzer wird der Zugriff gewährt oder verweigert.

Aktivieren von BlokSec

  1. Wechseln Sie zu „bloksec.com“, und wählen Sie Demomandanten anfordern aus.
  2. Geben Sie im Nachrichtenfeld an, dass Sie eine Integration in Azure AD B2C durchführen möchten.
  3. Laden Sie die kostenlose mobile BlokSec-App „yuID“ herunter, und installieren Sie sie.
  4. Nachdem der Demomandant vorbereitet wurde, wird eine E-Mail empfangen.
  5. Wählen Sie auf dem mobilen Gerät, auf dem die BlokSec-Anwendung installiert ist, den Link zum Registrieren Ihres Administratorkontos bei Ihrer App „yuID“ aus.

Voraussetzungen

Zunächst benötigen Sie Folgendes:

Lesen Sie auch das Tutorial: Erstellen von Benutzerflows und benutzerdefinierten Richtlinien in Azure AD B2C.

Erstellen einer Anwendungsregistrierung in BlokSec

Suchen Sie in der Kontoregistrierungs-E-Mail von BlokSec den Link zur BlokSec-Administratorkonsole.

  1. Melden Sie sich an der BlokSec-Administratorkonsole an.
  2. Wählen Sie im Hauptdashboard Anwendung hinzufügen > Benutzerdefiniert erstellen aus.
  3. Geben Sie unter Name „Azure AD B2C“ oder einen Anwendungsnamen ein.
  4. Wählen Sie unter SSO-Typ die Option OIDC aus.
  5. Geben Sie unter Logo-URI einen Link zum Logobild ein.
  6. Verwenden Sie https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authresp als Umleitungs-URIs. Beispielsweise https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/oauth2/authresp. Geben Sie für eine benutzerdefinierte Domäne https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp ein.
  7. Geben Sie unter Umleitungs-URIs nach dem Abmelden ein: https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/{policy}/oauth2/v2.0/logout.
  8. Wählen Sie die erstellte Azure AD B2C-Anwendung zum Öffnen der Anwendungskonfiguration aus.
  9. Wählen Sie App-Geheimnis generieren aus.

Weitere Informationen finden Sie unter Senden einer Abmeldeanforderung.

Hinweis

Sie benötigen die Anwendungs-ID und das Anwendungsgeheimnis zum Konfigurieren des Identitätsanbieters (IdP) in Azure AD B2C.

Hinzufügen eines neuen Identitätsanbieters in Azure AD B2C

Verwenden Sie bei den folgenden Anleitungen das Verzeichnis, das Ihren Azure AD B2C-Mandanten enthält.

  1. Melden Sie sich beim Azure-Portal als globaler Administrator Ihres Azure AD B2C-Mandanten an.
  2. Wählen Sie auf der Toolbar des Portals Verzeichnisse + Abonnements aus.
  3. Suchen Sie auf der Seite Portaleinstellungen, Verzeichnisse + Abonnements Ihr Azure AD B2C-Verzeichnis in der Liste Verzeichnisname.
  4. Wählen Sie Wechseln aus.
  5. Wählen Sie in der linken oberen Ecke im Azure-Portal die Option Alle Dienste aus.
  6. Suchen Sie nach Azure AD B2C, und wählen Sie diese Option aus.
  7. Navigieren Sie zu Dashboard>Azure Active Directory B2C>Identitätsanbieter.
  8. Wählen Sie Neuer OpenID Connect-Anbieter aus.
  9. Wählen Sie Hinzufügen.

Konfigurieren eines Identitätsanbieters

  1. Wählen Sie Identitätsanbietertyp > OpenID Connect
  2. Geben Sie unter Name den Namen BlokSec yuID – Kennwortlos oder einen anderen Namen ein.
  3. Geben Sie unter Metadaten-URL die URL https://api.bloksec.io/oidc/.well-known/openid-configuration ein.
  4. Geben Sie unter Client-IDV die Anwendungs-ID von der BlokSec-Verwaltungsoberfläche ein.
  5. Geben Sie unter Geheimer Clientschlüssel das Anwendungsgeheimnis von der BlokSec-Verwaltungsoberfläche ein.
  6. Wählen Sie unter Bereich die Option OpenID-E-Mail-Profil aus.
  7. Wählen Sie unter Antworttyp die Option Code aus.
  8. Wählen Sie unter Domänenhinweis die Option yuID aus.
  9. Klicken Sie auf OK.
  10. Wählen Sie Ansprüche dieses Identitätsanbieters zuordnen aus.
  11. Wählen Sie unter Benutzer-ID die Option sub aus.
  12. Wählen Sie unter Anzeigename die Option name aus.
  13. Verwenden Sie für Vorname die Option given_name.
  14. Verwenden Sie für Nachname die Option family_name.
  15. Verwenden Sie für E-Mail die Option email.
  16. Wählen Sie Speichern aus.

Benutzerregistrierung

  1. Melden Sie sich an der BlokSec-Verwaltungskonsole mit den bereitgestellten Anmeldeinformationen an.
  2. Navigieren Sie zu der zuvor erstellten Azure AD B2C-Anwendung.
  3. Wählen Sie oben rechts das Symbol Zahnrad aus.
  4. Wählen Sie Konto erstellen aus.
  5. Geben Sie in Konto erstellen Benutzerinformationen ein. Notieren Sie sich den Kontonamen.
  6. Klicken Sie auf Senden.

Der Benutzer empfängt unter der angegebenen E-Mail-Adresse eine Kontoregistrierungs-E-Mail. Weisen Sie den Benutzer an, den Registrierungslink auf dem mobilen Gerät mit der BlokSec-App „yuID“ auszuwählen.

Erstellen einer Benutzerflowrichtlinie

Stellen Sie für die folgenden Anleitungen sicher, dass BlokSec ein neuer OIDC-Identitätsanbieter (IdP) ist.

  1. Wählen Sie auf Ihrem Azure AD B2C-Mandanten unter Richtlinien die Option Benutzerflows aus.
  2. Wählen Sie die Option Neuer Benutzerflow aus.
  3. Klicken Sie auf Registrierung und Anmeldung>Version>Erstellen.
  4. Geben Sie einen Namen für die Richtlinie ein.
  5. Wählen Sie im Abschnitt „Identitätsanbieter“ den erstellten BlokSec-Identitätsanbieter aus.
  6. Wählen Sie unter „Lokales Konto“ die Option Kein aus. Diese Aktion deaktiviert die E-Mail- und kennwortbasierte Authentifizierung.
  7. Klicken Sie auf Benutzerflow ausführen.
  8. Geben Sie im Formular die Antwort-URL ein, z. B. https://jwt.ms.
  9. Der Browser wird an die Anmeldeseite von BlokSec umgeleitet.
  10. Geben Sie den Kontonamen aus der Benutzerregistrierung ein.
  11. Der Benutzer erhält eine Pushbenachrichtigung auf dem mobilen Gerät mit der BlokSec-Anwendung „yuID“.
  12. Der Benutzer öffnet die Benachrichtigung, und die Authentifizierungsanforderung wird angezeigt.
  13. Wenn die Authentifizierung akzeptiert wird, leitet der Browser den Benutzer an die Antwort-URL weiter.

Hinweis

In Azure Active Directory B2C sind benutzerdefinierte Richtlinien hauptsächlich für komplexe Szenarien konzipiert. Für die meisten Szenarien empfehlen wir integrierte Benutzerflows.
Lesen Sie dazu Übersicht über Benutzerflows und benutzerdefinierte Richtlinien.

Erstellen eines Richtlinienschlüssels

Speichern Sie den geheimen Clientschlüssel, den Sie sich notiert haben, in Ihrem Azure AD B2C-Mandanten. Verwenden Sie bei den folgenden Anleitungen das Verzeichnis mit Ihrem Azure AD B2C-Mandanten.

  1. Melden Sie sich beim Azure-Portal an.
  2. Wählen Sie auf der Toolbar des Portals Verzeichnisse + Abonnements aus.
  3. Suchen Sie auf der Seite Portaleinstellungen, Verzeichnisse + Abonnements Ihr Azure AD B2C-Verzeichnis in der Liste Verzeichnisname.
  4. Wählen Sie Wechseln aus.
  5. Wählen Sie in der oberen linken Ecke des Azure-Portals die Option Alle Dienste aus.
  6. Suchen Sie nach Azure AD B2C, und wählen Sie diese Option aus.
  7. Wählen Sie auf der Seite Übersicht die Option Identity Experience Framework aus.
  8. Wählen Sie Richtlinienschlüssel aus.
  9. Wählen Sie Hinzufügen.
  10. Wählen Sie unter Optionen die Option Manuell aus.
  11. Geben Sie einen Richtliniennamen für den Richtlinienschlüssel ein. Beispielsweise BlokSecAppSecret. Das Präfix B2C_1A_ wird dem Schlüsselnamen hinzugefügt.
  12. Geben Sie unter Geheimnis den geheimen Clientschlüssel ein, den Sie sich notiert haben.
  13. Wählen Sie unter SchlüsselverwendungSignatur aus.
  14. Klicken Sie auf Erstellen.

Konfigurieren von BlokSec als Identitätsanbieter

Damit sich Benutzer mit einer dezentralisierten BlokSec-Identität anmelden können, definieren Sie BlokSec als Anspruchsanbieter. Diese Aktion stellt sicher, dass Azure AD B2C über einen Endpunkt mit sich selbst kommuniziert. Azure AD B2C verwendet Endpunktansprüche zur Überprüfung, ob Benutzer ihre Identität mithilfe von Biometrie authentifizieren, z. B. Fingerabdruck oder Gesichtsscan.

Um BlokSec als Anspruchsanbieter zu definieren, fügen Sie sie in der Erweiterungsdatei Ihrer Richtlinie dem Element ClaimsProvider hinzu.

  1. Öffnen Sie die Datei TrustFrameworkExtensions.xml.

  2. Suchen Sie nach dem Element ClaimsProviders. Wenn das Element nicht angezeigt wird, fügen Sie es unter dem Stammelement hinzu.

  3. So fügen Sie einen neuen ClaimsProvider hinzu:

    <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. Legen Sie client_id auf die Anwendungs-ID aus der Anwendungsregistrierung fest.

  5. Wählen Sie Speichern aus.

Hinzufügen einer User Journey

Nutzen Sie die folgenden Anleitungen, wenn der Identitätsanbieter eingerichtet ist, aber nicht auf einer Anmeldeseite. Wenn Sie keine benutzerdefinierte User Journey haben, kopieren Sie eine Vorlagen-User Journey.

  1. Öffnen Sie im Starter-Paket die Datei TrustFrameworkBase.xml.
  2. Suchen und kopieren Sie den Inhalt des Elements UserJourneys, das „ID=SignUpOrSignIn“ enthält.
  3. Öffnen Sie die Datei TrustFrameworkExtensions.xml.
  4. Suchen Sie das Element UserJourneys. Wenn das Element nicht angezeigt wird, fügen Sie eines hinzu.
  5. Fügen Sie den Inhalt des kopierten UserJourney-Elements als untergeordnetes Element des UserJourneys-Elements ein.
  6. Benennen Sie die User Journey-ID um. Zum Beispiel, ID=CustomSignUpSignIn.

Hinzufügen des Identitätsanbieters zu einer User Journey

Wenn Sie eine User Journey haben, fügen Sie ihr den neuen Identitätsanbieter hinzu. Fügen Sie zuerst eine Anmeldeschaltfläche hinzu, und verknüpfen Sie sie dann mit einer Aktion, die das von Ihnen erstellte technische Profil ist.

  1. Suchen Sie in der User Journey nach dem Orchestrierungsschrittelement, das „Type=CombinedSignInAndSignUp“ oder „Type=ClaimsProviderSelection“ enthält. Dies ist in der Regel der erste Orchestrierungsschritt. Das Element ClaimsProviderSelections enthält eine Liste von Identitätsanbietern für die Benutzeranmeldung. Die Reihenfolge der Elemente steuert die Reihenfolge der Anmeldeschaltflächen, die dem Benutzer angezeigt werden.
  2. Fügen Sie ein ClaimsProviderSelection-XML-Element hinzu.
  3. Legen Sie für TargetClaimsExchangeId einen Anzeigenamen fest.
  4. Fügen Sie im nächsten Orchestrierungsschritt ein ClaimsExchange-Element hinzu.
  5. Legen Sie die Id auf den Wert der Zielanspruchsaustausch-ID fest.
  6. Ändern Sie den Wert von TechnicalProfileReferenceId in die ID des technischen Profils, das Sie erstellt haben.

Der folgende XML-Code veranschaulicht die ersten beiden User-Journey-Orchestrierungsschritte beim Identitätsanbieter:

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

Konfigurieren einer Richtlinie für die vertrauende Seite

Die Richtlinie für die vertrauende Seite, z. B. SignUpSignIn.xml, gibt die von Azure AD B2C ausgeführte User Journey an.

  1. Suchen Sie in „Vertrauende Seite“ das Element DefaultUserJourney.
  2. Aktualisieren Sie ReferenceId auf die ID der User Journey, in der Sie den Identitätsanbieter hinzugefügt haben.

Im folgenden Beispiel ist ReferenceId für die User Journey CustomSignUpOrSignIn auf CustomSignUpOrSignIn festgelegt:

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

Hochladen der benutzerdefinierten Richtlinie

Verwenden Sie bei den folgenden Anleitungen das Verzeichnis mit Ihrem Azure AD B2C-Mandanten.

  1. Melden Sie sich beim Azure-Portal an.
  2. Wählen Sie auf der Symbolleiste des Portals die Option Verzeichnisse und Abonnements aus.
  3. Suchen Sie auf der Seite Portaleinstellungen, Verzeichnisse und Abonnements in der Liste Verzeichnisname Ihr Azure AD B2C-Verzeichnis.
  4. Wählen Sie Wechseln aus.
  5. Suchen Sie im Azure-Portal nach Azure AD B2C, und wählen Sie diese Option dann aus.
  6. Wählen Sie unter Richtlinien die Option Identity Experience Framework aus.
  7. Wählen Sie Benutzerdefinierte Richtlinie hochladen aus.
  8. Laden Sie die beiden von Ihnen geänderten Richtliniendateien in dieser Reihenfolge hoch:
  • Erweiterungsrichtlinie, z. B. TrustFrameworkExtensions.xml
  • Richtlinie für die vertrauende Seite z. B. SignUpSignIn.xml

Testen der benutzerdefinierten Richtlinie

  1. Wählen Sie die Richtliniendatei für die vertrauende Seite aus, z. B. B2C_1A_signup_signin.
  2. Wählen Sie unter Anwendung eine von Ihnen registrierte Webanwendung aus.
  3. Die Antwort-URL wird als https://jwt.msangezeigt.
  4. Wählen Sie Jetzt ausführen aus.
  5. Wählen Sie auf der Registrierungs- oder Anmeldeseite die Option Google aus, um sich mit einem Google-Konto anzumelden.
  6. Der Browser wird an https://jwt.ms umgeleitet. Sehen Sie sich die von Azure AD B2C zurückgegebenen Tokeninhalte an.

Weitere Informationen finden Sie im Tutorial: Registrieren einer Webanwendung in Azure Active Directory B2C.

Nächste Schritte