Share via


Självstudie: Konfigurera Azure Active Directory B2C med Arkose Labs-plattformen

I den här självstudien lär du dig att integrera Azure Active Directory B2C-autentisering (Azure AD B2C) med Arkose Labs Arkose Protect Platform. Arkose Labs-produkter hjälper organisationer mot robotattacker, kontoövertagande och bedrägliga kontoöppningar.

Förutsättningar

För att komma igång behöver du:

Scenariobeskrivning

Arkose Labs-produktintegrering innehåller följande komponenter:

  • Arkose Protect Platform – en tjänst som skyddar mot robotar och andra automatiserade missbruk
  • Azure AD användarflöde för B2C-registrering – registreringsupplevelsen som använder Arkose Labs-plattformen
    • Anpassade HTML-, JavaScript- och API-anslutningsappar integreras med Arkose-plattformen
  • Azure Functions – Din värdbaserade API-slutpunkt som fungerar med FUNKTIONEN API-anslutningsappar

Följande diagram illustrerar hur Arkose Labs-plattformen integreras med Azure AD B2C.

Diagram över Arkose Labs-plattformen och Azure AD B2C-integreringsarkitektur.

  1. En användare registrerar sig och skapar ett konto. Användaren väljer Skicka och en Arkose Labs-tvingande utmaning visas.
  2. Användaren slutför utmaningen. Azure AD B2C skickar statusen till Arkose Labs för att generera en token.
  3. Arkose Labs skickar token till Azure AD B2C.
  4. Azure AD B2C anropar ett mellanliggande webb-API för att skicka registreringsformuläret.
  5. Registreringsformuläret går till Arkose Labs för tokenverifiering.
  6. Arkose Labs skickar verifieringsresultat till det mellanliggande webb-API:et.
  7. API:et skickar ett lyckat eller misslyckat resultat till Azure AD B2C.
  8. Om utmaningen lyckas går ett registreringsformulär till Azure AD B2C, som slutför autentiseringen.

Begär en demo från Arkose Labs

  1. Gå till arkoselabs.com för att boka en demo.
  2. Skapa ett konto.
  3. Gå till inloggningssidan för Arkose-portalen .
  4. Gå till webbplatsinställningarna på instrumentpanelen.
  5. Leta upp din offentliga nyckel och privata nyckel. Du kommer att använda den här informationen senare.

Anteckning

Värdena för offentlig och privat nyckel är ARKOSE_PUBLIC_KEY och ARKOSE_PRIVATE_KEY. Se Azure-Samples/active-directory-b2c-node-sign-up-user-flow-arkose.

Integrera med Azure AD B2C

Skapa ett anpassat ArkoseSessionToken-attribut

Så här skapar du ett anpassat attribut:

  1. Logga in på Azure Portal och navigera sedan till Azure AD B2C.
  2. Välj användarattribut.
  3. Välj Lägg till.
  4. Ange ArkoseSessionToken som attributnamn.
  5. Välj Skapa.

Läs mer: Definiera anpassade attribut i Azure Active Directory B2C

Skapa ett användarflöde

Användarflödet är för registrering och inloggning eller registrering. Arkose Labs-användarflödet visas under registreringen.

  1. Skapa användarflöden och anpassade principer i Azure Active Directory B2C. Om du använder ett användarflöde använder du Rekommenderad.

  2. I inställningarna för användarflöde går du till Användarattribut.

  3. Välj Anspråket ArkoseSessionToken .

    Skärmbild av Arkose-sessionstoken under Användarattribut.

Konfigurera anpassad HTML-, JavaScript- och sidlayout

  1. Gå till Azure-Samples/active-directory-b2c-node-sign-up-user-flow-arkose.
  2. Hitta HTML-mallen med JavaScript-taggar <script> . Dessa gör tre saker:
  • Läs in Arkose Labs-skriptet, som renderar deras widget och gör Arkose Labs-validering på klientsidan.

  • extension_ArkoseSessionToken Dölj indataelementet och etiketten som motsvarar det ArkoseSessionToken anpassade attributet.

  • När en användare slutför Arkose Labs-utmaningen verifieras användarsvaret och en token genereras. Återanropet arkoseCallback i det anpassade JavaScript anger värdet extension_ArkoseSessionToken för till det genererade tokenvärdet. Det här värdet skickas till API-slutpunkten.

    Anteckning

    Gå till developer.arkoselabs.com för instruktioner på klientsidan. Följ stegen för att använda anpassad HTML och JavaScript för ditt användarflöde.

  1. I Azure-Samples ändrar duselfAsserted.html-filen <ARKOSE_PUBLIC_KEY> att den matchar det värde som du genererade för valideringen på klientsidan.

  2. Värd för HTML-sidan på en CORS-aktiverad webbslutpunkt (Cross-Origin Resource Sharing).

  3. Skapa ett lagringskonto.

  4. CORS-stöd för Azure Storage.

    Anteckning

    Om du har anpassad HTML kopierar och klistrar du in elementen <script> på HTML-sidan.

  5. I Azure Portal går du till Azure AD B2C.

  6. Gå till Användarflöden.

  7. Välj ditt användarflöde.

  8. Välj Sidlayouter.

  9. Välj Sidlayout för lokal kontoregistrering.

  10. För Använd anpassat sidinnehåll väljer du JA.

  11. I Använd anpassat sidinnehåll klistrar du in din anpassade HTML-URI.

  12. (Valfritt) Om du använder leverantörer av sociala identiteter upprepar du stegen för registreringssidan för socialt konto.

    Skärmbild av alternativ för layoutnamn och alternativ för registrering av sociala konton under Sidlayouter.

  13. Gå till Egenskaper från användarflödet.

  14. Välj Aktivera JavaScript.

Läs mer: Aktivera JavaScript- och sidlayoutversioner i Azure Active Directory B2C

Skapa och distribuera ditt API

Det här avsnittet förutsätter att du använder Visual Studio Code för att distribuera Azure Functions. Du kan använda Azure Portal, terminal eller kommandotolk för att distribuera.

Gå till Visual Studio Marketplace för att installera Azure Functions för Visual Studio Code.

Kör API:et lokalt

  1. I Visual Studio Code går du till Azure-tillägget i det vänstra navigeringsfönstret.
  2. Välj mappen Lokalt projekt för din lokala Azure-funktion.
  3. Tryck på F5 eller välj Felsök>Starta felsökning. Det här kommandot använder den felsökningskonfiguration som Azure-funktionen skapade.
  4. Azure Function genererar filer för lokal utveckling, installerar beroenden och Function Core-verktygen om det behövs.
  5. I Visual Studio Code-terminalpanelen visas utdata från funktionskärnan.
  6. När värden startar väljer du Alt+klicka på den lokala URL:en i utdata.
  7. Webbläsaren öppnas och kör funktionen .
  8. I Azure Functions explorer högerklickar du på funktionen för att se url:en för den lokalt värdbaserade funktionen.

Lägga till miljövariabler

Exemplet i det här avsnittet skyddar webb-API-slutpunkten när du använder GRUNDLÄGGANDE HTTP-autentisering. Läs mer på sidan För Internet Engineering Task Force RFC 7617: Grundläggande autentisering.

Användarnamn och lösenord lagras som miljövariabler, inte en del av lagringsplatsen. Läs mer om Koda och testa Azure Functions lokalt, filen Lokala inställningar.

  1. Skapa en local.settings.json-fil i rotmappen.
  2. Kopiera och klistra in följande kod i filen:
{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "FUNCTIONS_WORKER_RUNTIME": "node",
    "BASIC_AUTH_USERNAME": "<USERNAME>",
    "BASIC_AUTH_PASSWORD": "<PASSWORD>",
    "ARKOSE_PRIVATE_KEY": "<ARKOSE_PRIVATE_KEY>",
    "B2C_EXTENSIONS_APP_ID": "<B2C_EXTENSIONS_APP_ID>"
  }
}
  1. BASIC_AUTH_USERNAME och BASIC_AUTH_PASSWORD är autentiseringsuppgifterna för att autentisera API-anropet till din Azure-funktion. Välj värden.
  • <> ARKOSE_PRIVATE_KEY är den hemlighet på serversidan som du genererade på Arkose Labs-plattformen.
    • Den anropar Arkose Labs-API:et för verifiering på serversidan för att verifiera värdet för som ArkoseSessionToken genereras av klientdelen.
    • Se Instruktioner på serversidan.
  • <> B2C_EXTENSIONS_APP_ID är det program-ID som används av Azure AD B2C för att lagra anpassade attribut i katalogen.
  1. Gå till Appregistreringar.

  2. Sök efter b2c-extensions-app.

  3. Kopiera program-ID:t (klient) i fönstret Översikt .

  4. - Ta bort tecknen.

    Skärmbild av visningsnamn, program-ID och skapandedatum under Appregistreringar.

Distribuera programmet till webben

  1. Distribuera din Azure-funktion till molnet. Läs mer med Azure Functions dokumentation.

  2. Kopiera slutpunktswebb-URL:en för din Azure-funktion.

  3. Efter distributionen väljer du alternativet Ladda upp inställningar .

  4. Dina miljövariabler laddas upp till apptjänstens programinställningar. Läs mer om programinställningar i Azure.

    Anteckning

    Du kan hantera din funktionsapp. Se även Distribuera projektfiler för att lära dig mer om Visual Studio Code-utveckling för Azure Functions.

Konfigurera och aktivera API-anslutningsappen

  1. Skapa en API-anslutningsapp. Se Lägg till en API-anslutningsapp i ett användarflöde för registrering.

  2. Aktivera det för ditt användarflöde.

    Skärmbild av visningsnamn, slutpunkts-URL, användarnamn och lösenord i Konfigurera och en API-anslutningsapp.

  • Slutpunkts-URL – Funktions-URL:en som du kopierade när du distribuerade Azure-funktionen
  • Användarnamn – det användarnamn som du har definierat
  • Lösenord – det lösenord som du har definierat
  1. I inställningarna för API-anslutningsappen för ditt användarflöde väljer du den API-anslutningsapp som ska anropas i Innan du skapar användaren.

  2. API:et verifierar värdet ArkoseSessionToken .

    Skärmbild av posten för Innan du skapar användaren under API-anslutningsappar.

Testa användarflödet

  1. Öppna Azure AD B2C-klientorganisationen.
  2. Under Principer väljer du Användarflöden.
  3. Välj ditt skapade användarflöde.
  4. Välj Kör användarflöde.
  5. För Program väljer du den registrerade appen (exemplet är JWT).
  6. För Svars-URL väljer du omdirigerings-URL:en.
  7. Välj Kör användarflöde.
  8. Utför registreringsflödet.
  9. Skapa ett konto.
  10. Logga ut.
  11. Utför inloggningsflödet.
  12. Välj Fortsätt.
  13. Ett Arkose Labs-pussel visas.

Resurser