Freigeben über


Lernprogramm: Konfigurieren von BioCatch mit Azure Active Directory B2C

Von Bedeutung

Ab dem 1. Mai 2025 steht Azure AD B2C nicht mehr für neue Kunden zur Verfügung. Weitere Informationen finden Sie in unseren HÄUFIG gestellten Fragen.

Erfahren Sie, wie Sie die Azure Active Directory B2C-Authentifizierung (Azure AD B2C) in die BioCatch-Technologie integrieren, um Ihren Sicherheitsstatus für Kundenidentitäts- und Zugriffsverwaltung (CIAM) zu erweitern. BioCatch-Produkte analysieren physische und kognitive digitale Verhaltensweisen von Benutzern für Erkenntnisse, die legitime Kunden unterscheiden.

Wechseln Sie zu biocatch.com, um mehr über BioCatch zu erfahren

Voraussetzungen

Um zu beginnen, benötigen Sie Folgendes:

Szenariobeschreibung

Die BioCatch-Integration umfasst die folgenden Komponenten:

  • Eine Web-App oder ein Webdienst – Benutzer rufen diesen Webdienst auf, der eine eindeutige Clientsitzungs-ID instanziiert, die zu BioCatch gesendet wird
    • Die Sitzungs-ID überträgt Die Benutzerverhaltensmerkmale an BioCatch
  • Eine Methode – sendet die Sitzungs-ID an Azure AD B2C. Im Beispiel gibt JavaScript den Wert in ein ausgeblendetes HTML-Feld ein.
  • Eine benutzerdefinierte Benutzeroberfläche von Azure AD B2C – blendet ein HTML-Feld für die Sitzungs-ID-Eingabe aus JavaScript aus.
  • Benutzerdefinierte Azure AD B2C-Richtlinie:
    • Verwendet die Sitzungs-ID als Anspruch über ein selbstbestätigtes technisches Profil.
    • Integriert in BioCatch über einen REST-API-Anspruchsanbieter und übergibt die Sitzungs-ID an BioCatch
    • Mehrere benutzerdefinierte Ansprüche werden von BioCatch für die Logik der benutzerdefinierten Richtlinie zurückgegeben.
    • Ein Benutzerablauf bewertet einen zurückgegebenen Anspruch und führt eine bedingte Aktion aus, wie zum Beispiel eine Multi-Faktor-Authentifizierung.

Weitere Informationen:

Das folgende Diagramm veranschaulicht Benutzerflüsse mit Sitzungsinformationen.

Diagramm der Benutzerflüsse mit Sitzungsinformationen.

  1. Der Benutzer durchsucht den Webdienst, der HTML-, CSS- oder JavaScript-Werte zurückgibt, lädt dann das BioCatch JavaScript SDK. Clientseitiges JavaScript konfiguriert eine Clientsitzungs-ID für das BioCatch SDK. Alternativ konfiguriert der Webdienst die Clientsitzungs-ID vor und sendet sie an den Client. Sie können das instanziierte BioCatch JavaScript SDK für BioCatch konfigurieren, das das Benutzerverhalten über das Clientgerät über die Clientsitzungs-ID an BioCatch sendet.
  2. Der Benutzer registriert sich oder meldet sich an und wird zu Azure AD B2C umgeleitet.
  3. Die User Journey enthält einen selbstbestätigten Anspruchsanbieter, der die Clientsitzungs-ID eingibt. Dieses Feld ist ausgeblendet. Verwenden Sie JavaScript, um die Sitzungs-ID in das Feld einzugeben. Wählen Sie "Weiter" aus, um die Registrierung oder Anmeldung fortzusetzen. Die Sitzungs-ID wird für eine Risikobewertung an BioCatch übergeben. BioCatch gibt Sitzungsinformationen zurück und empfiehlt das Zulassen oder Blockieren. Die User Journey umfasst eine bedingte Überprüfung, die auf die zurückgegebenen Ansprüche reagiert.
  4. Basierend auf dem Ergebnis der bedingten Überprüfung wird eine Aktion aufgerufen.
  5. Der Webdienst kann die Sitzungs-ID verwenden, um die BioCatch-API abzufragen, um Risiko- und Sitzungsinformationen zu ermitteln.

Erste Schritte mit BioCatch

Wechseln Sie zur Seite biocatch.com Kontakt mit uns , um ein Konto zu initiieren.

Konfigurieren der benutzerdefinierten Benutzeroberfläche

Es wird empfohlen, das Feld "Clientsitzungs-ID" mit CSS, JavaScript oder einer anderen Methode auszublenden. Blenden Sie zum Testen das Feld ein. Beispielsweise blendet JavaScript das Eingabefeld wie folgt aus:

document.getElementById("clientSessionId").style.display = 'none';

Konfigurieren von Azure AD B2C Identity Experience Framework-Richtlinien

  1. Erste Schritte finden Sie im Lernprogramm: Erstellen von Benutzerflüssen und benutzerdefinierten Richtlinien in Azure AD B2C.

  2. Erstellen Sie eine neue Datei, die von der Erweiterungsdatei erbt.

    <BasePolicy> 
    
        <TenantId>tenant.onmicrosoft.com</TenantId> 
    
        <PolicyId>B2C_1A_TrustFrameworkExtensions</PolicyId> 
    
      </BasePolicy> 
    
  3. Erstellen Sie einen Verweis auf die benutzerdefinierte Benutzeroberfläche, um das Eingabefeld unter der BuildingBlocks-Ressource auszublenden.

    <ContentDefinitions> 
    
        <ContentDefinition Id="api.selfasserted"> 
    
            <LoadUri>https://domain.com/path/to/selfAsserted.cshtml</LoadUri> 
    
            <DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:2.1.0</DataUri> 
    
          </ContentDefinition> 
    
        </ContentDefinitions>
    
  4. Fügen Sie unter der BuildingBlocks-Ressource die folgenden Ansprüche hinzu.

    <ClaimsSchema> 
    
          <ClaimType Id="riskLevel"> 
    
            <DisplayName>Session risk level</DisplayName> 
    
            <DataType>string</DataType>       
    
          </ClaimType> 
    
          <ClaimType Id="score"> 
    
            <DisplayName>Session risk score</DisplayName> 
    
            <DataType>int</DataType>       
    
          </ClaimType> 
    
          <ClaimType Id="clientSessionId"> 
    
            <DisplayName>The ID of the client session</DisplayName> 
    
            <DataType>string</DataType> 
    
            <UserInputType>TextBox</UserInputType> 
    
          </ClaimType> 
    
    </ClaimsSchema> 
    
  5. Konfigurieren Sie einen selbstbestätigten Anspruchsanbieter für das Feld für die Clientsitzungs-ID.

    <ClaimsProvider> 
    
          <DisplayName>Client Session ID Claims Provider</DisplayName> 
    
          <TechnicalProfiles> 
    
            <TechnicalProfile Id="login-NonInteractive-clientSessionId"> 
    
              <DisplayName>Client Session ID TP</DisplayName> 
    
              <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> 
    
              <Metadata> 
    
                <Item Key="ContentDefinitionReferenceId">api.selfasserted</Item> 
    
              </Metadata> 
    
              <CryptographicKeys> 
    
                <Key Id="issuer_secret" StorageReferenceId="B2C_1A_TokenSigningKeyContainer" /> 
    
              </CryptographicKeys> 
    
            <!—Claim we created earlier --> 
    
              <OutputClaims> 
    
                <OutputClaim ClaimTypeReferenceId="clientSessionId" Required="false" DefaultValue="100"/> 
    
              </OutputClaims> 
    
            <UseTechnicalProfileForSessionManagement ReferenceId="SM-AAD" /> 
    
            </TechnicalProfile> 
    
          </TechnicalProfiles> 
    
        </ClaimsProvider> 
    
  6. Konfigurieren Sie einen REST-API-Anspruchsanbieter für BioCatch.

    <TechnicalProfile Id="BioCatch-API-GETSCORE"> 
    
          <DisplayName>Technical profile for BioCatch API to return session information</DisplayName> 
    
          <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
    
          <Metadata> 
    
            <Item Key="ServiceUrl">https://biocatch-url.com/api/v6/score?customerID=<customerid>&amp;action=getScore&amp;uuid=<uuid>&amp;customerSessionID={clientSessionId}&amp;solution=ATO&amp;activtyType=<activity_type>&amp;brand=<brand></Item>
    
            <Item Key="SendClaimsIn">Url</Item> 
    
            <Item Key="IncludeClaimResolvingInClaimsHandling">true</Item> 
    
            <!-- Set AuthenticationType to Basic or ClientCertificate in production environments --> 
    
            <Item Key="AuthenticationType">None</Item> 
    
            <!-- REMOVE the following line in production environments --> 
    
            <Item Key="AllowInsecureAuthInProduction">true</Item> 
    
          </Metadata> 
    
          <InputClaims> 
    
            <InputClaim ClaimTypeReferenceId="clientsessionId" /> 
    
          </InputClaims> 
    
          <OutputClaims> 
    
            <OutputClaim ClaimTypeReferenceId="riskLevel" /> 
    
            <OutputClaim ClaimTypeReferenceId="score" /> 
    
          </OutputClaims> 
    
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" /> 
    
        </TechnicalProfile> 
    
      </TechnicalProfiles>
    

    Hinweis

    BioCatch stellt die URL, Kunden-ID und eindeutige Benutzer-ID (UUID) bereit. Der SessionID-Anspruch des Kunden wird als Abfragezeichenfolgeparameter an BioCatch übergeben. Sie können den Aktivitätstyp auswählen, z. B. MAKE_PAYMENT.

  7. Konfigurieren Sie die Benutzerreise mithilfe des folgenden Beispiels:

    • Rufen Sie die Clientsitzungs-ID (clientSessionID) als Anspruch ab.
    • Rufen Sie die BioCatch-API auf, um die Sitzungsinformationen abzurufen.
    • Wenn das zurückgegebene Anspruchsrisiko niedrig ist, überspringen Sie den Schritt für MFA, andernfalls erzwingen Sie die Benutzer-MFA.
    <OrchestrationStep Order="8" Type="ClaimsExchange"> 
    
          <ClaimsExchanges> 
    
            <ClaimsExchange Id="clientSessionIdInput" TechnicalProfileReferenceId="login-NonInteractive-clientSessionId" /> 
    
          </ClaimsExchanges> 
    
        </OrchestrationStep> 
    
        <OrchestrationStep Order="9" Type="ClaimsExchange"> 
    
          <ClaimsExchanges> 
    
            <ClaimsExchange Id="BcGetScore" TechnicalProfileReferenceId=" BioCatch-API-GETSCORE" /> 
    
          </ClaimsExchanges> 
    
        </OrchestrationStep> 
    
        <OrchestrationStep Order="10" Type="ClaimsExchange"> 
    
          <Preconditions> 
    
            <Precondition Type="ClaimEquals" ExecuteActionsIf="true"> 
    
              <Value>riskLevel</Value> 
    
              <Value>LOW</Value> 
    
              <Action>SkipThisOrchestrationStep</Action> 
    
            </Precondition> 
    
          </Preconditions> 
    
          <ClaimsExchanges> 
    
            <ClaimsExchange Id="PhoneFactor-Verify" TechnicalProfileReferenceId="PhoneFactor-InputOrVerify" /> 
    
          </ClaimsExchanges>
    
  8. Konfigurieren der vertrauenden Seite (optional). Sie können die von BioCatch zurückgegebenen Informationen als Ansprüche im Token an Ihre Anwendung übergeben: Risikostufe und Bewertung.

    <RelyingParty> 
    
    <DefaultUserJourney ReferenceId="SignUpOrSignInMfa" /> 
    
    <UserJourneyBehaviors> 
    
      <SingleSignOn Scope="Tenant" KeepAliveInDays="30" /> 
    
      <SessionExpiryType>Absolute</SessionExpiryType> 
    
      <SessionExpiryInSeconds>1200</SessionExpiryInSeconds> 
    
      <ScriptExecution>Allow</ScriptExecution> 
    
    </UserJourneyBehaviors> 
    
    <TechnicalProfile Id="PolicyProfile"> 
    
      <DisplayName>PolicyProfile</DisplayName> 
    
      <Protocol Name="OpenIdConnect" /> 
    
      <OutputClaims> 
    
        <OutputClaim ClaimTypeReferenceId="displayName" /> 
    
        <OutputClaim ClaimTypeReferenceId="givenName" /> 
    
        <OutputClaim ClaimTypeReferenceId="surname" /> 
    
        <OutputClaim ClaimTypeReferenceId="email" /> 
    
        <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub" /> 
    
        <OutputClaim ClaimTypeReferenceId="identityProvider" />                 
    
        <OutputClaim ClaimTypeReferenceId="riskLevel" /> 
    
        <OutputClaim ClaimTypeReferenceId="score" /> 
    
        <OutputClaim ClaimTypeReferenceId="tenantId" AlwaysUseDefaultValue="true" DefaultValue="{Policy:TenantObjectId}" /> 
    
      </OutputClaims> 
    
      <SubjectNamingInfo ClaimType="sub" /> 
    
    </TechnicalProfile> 
    
    </RelyingParty>
    

Integration mit Azure AD B2C

Fügen Sie die Richtliniendateien zu Azure AD B2C hinzu. Verwenden Sie für die folgenden Anweisungen das Verzeichnis mit dem Azure AD B2C-Mandanten.

  1. Melden Sie sich beim Azure-Portal als mindestens B2C IEF-Richtlinienadministrator des Azure AD B2C-Mandanten an.
  2. Wählen Sie auf der Portalsymbolleiste "Verzeichnisse + Abonnements" aus.
  3. Suchen Sie auf der Seite "Portaleinstellungen, Verzeichnisse + Abonnements " in der Verzeichnisnamenliste das Azure AD B2C-Verzeichnis.
  4. Wählen Sie Wechseln aus.
  5. Wählen Sie in der oberen linken Ecke des Azure-Portals "Alle Dienste" aus.
  6. Suchen Sie nach Azure AD B2C, und wählen Sie diese Option aus.
  7. Navigieren Sie zu Azure AD B2C>Identity Experience Framework.
  8. Laden Sie die Richtliniendateien in den Mandanten hoch.

Testen der Lösung

Die folgenden Anweisungen finden Sie im Lernprogramm: Registrieren einer Webanwendung in Azure Active Directory B2C

  1. Registrieren Sie eine Dummy-Anwendung, die zu JWT.MS umleitet.

  2. Wählen Sie unter Identity Experience Framework die von Ihnen erstellte Richtlinie aus.

  3. Wählen Sie die JWT.MS-Dummyanwendung im Richtlinienfenster aus.

  4. Wählen Sie "Jetzt ausführen" aus.

  5. Führen Sie einen Registrierungsablauf aus, und erstellen Sie ein Konto.

  6. Das an JWT.MS zurückgegebene Token enthält je 2 Ansprüche für „riskLevel“ und „score“.

  7. Verwenden Sie das folgende Beispiel.

    { 
    
      "typ": "JWT", 
    
      "alg": "RS256", 
    
      "kid": "_keyid" 
    
    }.{ 
    
      "exp": 1615872580, 
    
      "nbf": 1615868980, 
    
      "ver": "1.0", 
    
      "iss": "https://tenant.b2clogin.com/12345678-1234-1234-1234-123456789012/v2.0/", 
    
      "sub": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", 
    
      "aud": "00001111-aaaa-2222-bbbb-3333cccc4444", 
    
      "acr": "b2c_1a_signup_signin_biocatch_policy", 
    
      "nonce": "defaultNonce", 
    
      "iat": 1615868980, 
    
      "auth_time": 1615868980, 
    
      "name": "John Smith", 
    
      "email": "john.smith@contoso.com", 
    
      "given_name": "John", 
    
      "family_name": "Smith", 
    
      "riskLevel": "LOW", 
    
      "score": 275, 
    
      "tid": "bbbbcccc-1111-dddd-2222-eeee3333ffff" 
    
    }.[Signature]  
    
    

Weitere Ressourcen