Zelfstudie: Azure Active Directory B2C configureren met het Arkose Labs-platform
In deze zelfstudie leert u hoe u Azure Active Directory B2C-verificatie (Azure AD B2C) integreert met het Arkose Labs Arkose Protect-platform. Arkose Labs-producten helpen organisaties tegen botaanvallen, accountovername en frauduleuze accountopeningen.
Vereisten
U hebt u het volgende nodig om aan de slag te gaan:
- Een Azure-abonnement
- Als u nog geen account hebt, kunt u een gratis Azure-account krijgen.
- Een Azure AD B2C-tenant die is gekoppeld aan uw Azure-abonnement
- Een Arkose Labs-account
- Ga naar arkoselabs.com om een demo aan te vragen
Scenariobeschrijving
De productintegratie van Arkose Labs omvat de volgende onderdelen:
- Arkose Protect Platform - Een service ter bescherming tegen bots en ander geautomatiseerd misbruik
-
Azure AD B2C-registratiegebruikersstroom: de registratie-ervaring die gebruikmaakt van het Arkose Labs-platform
- Aangepaste HTML-, JavaScript- en API-connectors kunnen worden geïntegreerd met het Arkose-platform
-
Azure Functions: uw gehoste API-eindpunt dat werkt met de functie API-connectors
- Deze API valideert de serverzijde van het Arkose Labs-sessietoken
- Meer informatie in het overzicht van de Azure Functions
In het volgende diagram ziet u hoe het Arkose Labs-platform kan worden geïntegreerd met Azure AD B2C.
- Een gebruiker registreert zich en maakt een account. De gebruiker selecteert Verzenden en er wordt een Arkose Labs-afdwingingsvraag weergegeven.
- De gebruiker voltooit de uitdaging. Azure AD B2C verzendt de status naar Arkose Labs om een token te genereren.
- Arkose Labs verzendt het token naar Azure AD B2C.
- Azure AD B2C roept een tussenliggende web-API aan om het aanmeldingsformulier door te geven.
- Het registratieformulier gaat naar Arkose Labs voor tokenverificatie.
- Arkose Labs verzendt verificatieresultaten naar de tussenliggende web-API.
- De API verzendt een geslaagd of mislukt resultaat naar Azure AD B2C.
- Als de uitdaging is geslaagd, wordt een aanmeldingsformulier naar Azure AD B2C verzonden, waarmee de verificatie wordt voltooid.
Een demo aanvragen bij Arkose Labs
- Ga naar arkoselabs.com om een demo te boeken.
- Maak een account.
- Navigeer naar de aanmeldingspagina van de Arkose-portal .
- Navigeer in het dashboard naar site-instellingen.
- Zoek uw openbare en persoonlijke sleutel. U gebruikt deze informatie later.
Notitie
De waarden voor de openbare en persoonlijke sleutel zijn ARKOSE_PUBLIC_KEY
en ARKOSE_PRIVATE_KEY
.
Zie Azure-Samples/active-directory-b2c-node-sign-up-user-flow-arkose.
Integreren met Azure AD B2C
Een aangepast arkoseSessionToken-kenmerk maken
Een aangepast kenmerk maken:
- Meld u aan bij de Azure Portal en navigeer naar Azure AD B2C.
- Selecteer Gebruikerskenmerken.
- Selecteer Toevoegen.
- Voer ArkoseSessionToken in als de naam van het kenmerk.
- Selecteer Maken.
Meer informatie: Aangepaste kenmerken definiëren in Azure Active Directory B2C
Een gebruikersstroom maken
De gebruikersstroom is bedoeld voor registratie en aanmelding, of registratie. De Arkose Labs-gebruikersstroom wordt weergegeven tijdens de registratie.
Maak gebruikersstromen en aangepaste beleidsregels in Azure Active Directory B2C. Als u een gebruikersstroom gebruikt, gebruikt u Aanbevolen.
Ga in de instellingen van de gebruikersstroom naar Gebruikerskenmerken.
Selecteer de claim ArkoseSessionToken .
Aangepaste HTML-, JavaScript- en pagina-indeling configureren
- Ga naar Azure-Samples/active-directory-b2c-node-sign-up-user-flow-arkose.
- Zoek de HTML-sjabloon met JavaScript-tags
<script>
. Deze doen drie dingen:
Laad het Arkose Labs-script, waarmee de widget wordt weergegeven en Arkose Labs-validatie op de client wordt uitgevoerd.
Verberg het
extension_ArkoseSessionToken
invoerelement en het label dat overeenkomt met hetArkoseSessionToken
aangepaste kenmerk.Wanneer een gebruiker de Arkose Labs-uitdaging voltooit, wordt het antwoord van de gebruiker geverifieerd en wordt er een token gegenereerd. Met de callback
arkoseCallback
in het aangepaste JavaScript wordt de waarde ingesteld vanextension_ArkoseSessionToken
de gegenereerde tokenwaarde. Deze waarde wordt verzonden naar het API-eindpunt.Notitie
Ga naar developer.arkoselabs.com voor instructies aan de clientzijde. Volg de stappen om de aangepaste HTML en JavaScript te gebruiken voor uw gebruikersstroom.
Wijzig in Azure-Samples selfAsserted.html bestand zodat
<ARKOSE_PUBLIC_KEY>
deze overeenkomt met de waarde die u hebt gegenereerd voor de validatie aan de clientzijde.Host de HTML-pagina op een CORS-eindpunt (Cross-Origin Resource Sharing).
CORS-ondersteuning voor Azure Storage.
Notitie
Als u aangepaste HTML hebt, kopieert en plakt u de
<script>
elementen op uw HTML-pagina.Ga in de Azure Portal naar Azure AD B2C.
Navigeer naar Gebruikersstromen.
Selecteer uw gebruikersstroom.
Selecteer Pagina-indelingen.
Selecteer Pagina-indeling voor registratie van lokaal account.
Bij Aangepaste pagina-inhoud gebruiken selecteert u JA.
Plak uw aangepaste HTML-URI in Aangepaste pagina-inhoud gebruiken.
(Optioneel) Als u id-providers voor sociale netwerken gebruikt, herhaalt u de stappen voor de registratiepagina van het sociale account.
Ga vanuit uw gebruikersstroom naar Eigenschappen.
Selecteer JavaScript inschakelen.
Meer informatie: JavaScript en pagina-indelingsversies inschakelen in Azure Active Directory B2C
Uw API maken en implementeren
In deze sectie wordt ervan uitgegaan dat u Visual Studio Code gebruikt om Azure Functions te implementeren. U kunt de Azure Portal, terminal of opdrachtprompt gebruiken om te implementeren.
Ga naar Visual Studio Marketplace om Azure Functions voor Visual Studio Code te installeren.
De API lokaal uitvoeren
- Ga in Visual Studio Code in het linkernavigatievenster naar de Azure-extensie.
- Selecteer de map Lokaal project voor uw lokale Azure-functie.
- Druk op F5 of selecteer Foutopsporing>Starten foutopsporing. Deze opdracht maakt gebruik van de foutopsporingsconfiguratie die Azure Function heeft gemaakt.
- Azure Function genereert bestanden voor lokale ontwikkeling, installeert afhankelijkheden en, indien nodig, de Functie Core-hulpprogramma's.
- In het deelvenster Visual Studio Code Terminal wordt de uitvoer van het hulpprogramma Function Core weergegeven.
- Wanneer de host wordt gestart, selecteert u Alt en klikt u op de lokale URL in de uitvoer.
- De browser wordt geopend en de functie wordt uitgevoerd.
- Klik in de Azure Functions Explorer met de rechtermuisknop op de functie om de url van de lokaal gehoste functie weer te geven.
Omgevingsvariabelen toevoegen
Het voorbeeld in deze sectie beveiligt het web-API-eindpunt bij het gebruik van HTTP Basic-verificatie. Meer informatie op de pagina Internet Engineering Task Force RFC 7617: De basisverificatie.
Gebruikersnaam en wachtwoord worden opgeslagen als omgevingsvariabelen, die geen deel uitmaken van de opslagplaats. Meer informatie over Code en test Azure Functions lokaal, bestand met lokale instellingen.
- Maak in de hoofdmap een bestand local.settings.json.
- Kopieer en plak de volgende code in het bestand:
{
"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>"
}
}
- De BASIC_AUTH_USERNAME en BASIC_AUTH_PASSWORD zijn de referenties voor het verifiëren van de API-aanroep voor uw Azure-functie. Waarden selecteren.
-
<
> ARKOSE_PRIVATE_KEY is het geheim aan de serverzijde dat u hebt gegenereerd in het Arkose Labs-platform.
- Hiermee wordt de api voor validatie aan de serverzijde van Arkose Labs aangeroepen om de waarde te valideren van de
ArkoseSessionToken
die door de front-end wordt gegenereerd. - Zie Instructies aan de serverzijde.
- Hiermee wordt de api voor validatie aan de serverzijde van Arkose Labs aangeroepen om de waarde te valideren van de
- < > B2C_EXTENSIONS_APP_ID is de toepassings-id die door Azure AD B2C wordt gebruikt om aangepaste kenmerken op te slaan in de map.
Ga naar App-registraties.
Zoek naar b2c-extensions-app.
Kopieer in het deelvenster Overzicht de toepassings-id (client-id).
Verwijder de
-
tekens.
De toepassing implementeren op het internet
Implementeer uw Azure-functie in de cloud. Meer informatie over Azure Functions documentatie.
Kopieer de eindpuntweb-URL van uw Azure-functie.
Selecteer na de implementatie de optie Instellingen uploaden .
Uw omgevingsvariabelen worden geüpload naar de toepassingsinstellingen van de app-service. Meer informatie over Toepassingsinstellingen in Azure.
Notitie
U kunt uw functie-app beheren. Zie ook Projectbestanden implementeren voor meer informatie over de ontwikkeling van Visual Studio Code voor Azure Functions.
De API-connector configureren en inschakelen
Maak een API-connector. Zie Een API-connector toevoegen aan een gebruikersstroom voor registratie.
Schakel deze in voor uw gebruikersstroom.
- Eindpunt-URL : de functie-URL die u hebt gekopieerd tijdens het implementeren van de Azure-functie
- Gebruikersnaam : de gebruikersnaam die u hebt gedefinieerd
- Wachtwoord : het wachtwoord dat u hebt gedefinieerd
Selecteer in de instellingen van de API-connector voor uw gebruikersstroom de API-connector die moet worden aangeroepen bij Voordat u de gebruiker maakt.
De API valideert de
ArkoseSessionToken
waarde.
De gebruikersstroom testen
- Open de Azure AD B2C-tenant.
- Selecteer onder BeleidGebruikersstromen.
- Selecteer de gebruikersstroom die u hebt gemaakt.
- Selecteer Gebruikersstroom uitvoeren.
- Selecteer bij Toepassing de geregistreerde app (het voorbeeld is JWT).
- Selecteer bij Antwoord-URL de omleidings-URL.
- Selecteer Gebruikersstroom uitvoeren.
- Voer de registratiestroom uit.
- Maak een account.
- Meld u af.
- Voer de aanmeldingsstroom uit.
- Selecteer Doorgaan.
- Er verschijnt een Arkose Labs-puzzel.
Resources
-
Azure-Samples/active-directory-b2c-node-sign-up-user-flow-arkose
- De Azure AD B2C-registratiegebruikersstroom zoeken
- Overzicht van aangepaste Azure AD B2C-beleidsregels
- Zelfstudie: Gebruikersstromen en aangepast beleid maken in Azure Active Directory B2C