Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Od 1 maja 2025 r. usługa Azure AD B2C nie będzie już dostępna do zakupu dla nowych klientów. Dowiedz się więcej w naszych często zadawanych pytaniach.
Z tego samouczka dowiesz się, jak zintegrować uwierzytelnianie usługi Azure Active Directory B2C (Azure AD B2C) z aplikacją Arkose Labs Arkose Protect Platform. Produkty Arkose Labs pomagają organizacjom w walce z atakami botów, przejęciem konta i fałszywymi otwarciami kont.
Wymagania wstępne
Aby rozpocząć pracę, potrzebne są następujące elementy:
- Subskrypcja platformy Azure
- Jeśli go nie masz, możesz uzyskać bezpłatne konto platformy Azure
- Dzierżawca usługi Azure AD B2C połączony z subskrypcją Azure
- Konto Arkose Labs
- Przejdź do arkoselabs.com, aby zażądać pokazu
Opis scenariusza
Integracja produktów Arkose Labs obejmuje następujące składniki:
- Arkose Protect Platform — usługa chroniąca przed botami i innymi zautomatyzowanymi nadużyciami
-
Przepływ użytkownika rejestracji w usłudze Azure AD B2C — doświadczenie rejestracji przy użyciu platformy Arkose Labs
- Niestandardowe łączniki HTML, JavaScript i API integrują się z platformą Arkose
-
Azure Functions — hostowany punkt końcowy interfejsu API, który współpracuje z funkcją konektorów API
- Ten interfejs API weryfikuje stronę serwerową tokenu sesji Arkose Labs.
- Dowiedz się więcej w temacie Omówienie usługi Azure Functions
Na poniższym diagramie przedstawiono sposób integracji platformy Arkose Labs z usługą Azure AD B2C.
- Użytkownik zarejestruje się i utworzy konto. Użytkownik wybiera Prześlij, a pojawi się wyzwanie Arkose Labs.
- Użytkownik ukończy wyzwanie. Usługa Azure AD B2C wysyła stan do usługi Arkose Labs w celu wygenerowania tokenu.
- Usługa Arkose Labs wysyła token do usługi Azure AD B2C.
- Usługa Azure AD B2C wywołuje pośredni internetowy interfejs API w celu przekazania formularza rejestracji.
- Formularz rejestracyjny jest przesyłany do Arkose Labs w celu weryfikacji tokenu.
- Usługa Arkose Labs wysyła wyniki weryfikacji do pośredniego internetowego interfejsu API.
- API wysyła wynik sukcesu lub niepowodzenia do usługi Azure AD B2C.
- Jeśli wyzwanie zakończy się pomyślnie, formularz rejestracji przejdzie do usługi Azure AD B2C, która kończy uwierzytelnianie.
Żądanie pokazu z usługi Arkose Labs
- Przejdź do arkoselabs.com, aby zarezerwować pokaz.
- Utwórz konto.
- Przejdź do strony logowania w portalu Arkose .
- Na pulpicie nawigacyjnym przejdź do ustawień witryny.
- Znajdź klucz publiczny i klucz prywatny. Tych informacji będziesz używać później.
Uwaga
Wartości klucza publicznego i prywatnego to ARKOSE_PUBLIC_KEY
i ARKOSE_PRIVATE_KEY
.
Zobacz Azure-Samples/active-directory-b2c-node-sign-up-user-flow-arkose.
Integracja z usługą Azure AD B2C
Tworzenie atrybutu niestandardowego ArkoseSessionToken
Aby utworzyć atrybut niestandardowy:
- Zaloguj się do witryny Azure Portal, a następnie przejdź do usługi Azure AD B2C.
- Wybierz pozycję Atrybuty użytkownika.
- Wybierz Dodaj.
- Wprowadź ArkoseSessionToken jako nazwę atrybutu.
- Wybierz Utwórz.
Dowiedz się więcej: Definiowanie atrybutów niestandardowych w usłudze Azure Active Directory B2C
Tworzenie przepływu użytkownika
Przepływ użytkownika dotyczy rejestracji i logowania lub tylko rejestracji. Przepływ użytkownika usługi Arkose Labs jest wyświetlany podczas rejestracji.
Tworzenie przepływów użytkownika i zasad niestandardowych w usłudze Azure Active Directory B2C. W przypadku korzystania z przepływu użytkownika użyj opcji Zalecane.
W ustawieniach przepływu użytkownika przejdź do pozycji Atrybuty użytkownika.
Wybierz oświadczenie ArkoseSessionToken.
Konfiguruj niestandardowe HTML, JavaScript i układ strony
- Przejdź do pozycji Azure-Samples/active-directory-b2c-node-sign-up-user-flow-arkose.
- Znajdź szablon HTML z tagami języka JavaScript
<script>
. Są to trzy czynności:
Załaduj skrypt usługi Arkose Labs, który renderuje widżet i wykonuje weryfikację aplikacji Arkose Labs po stronie klienta.
Ukryj element wejściowy i etykietę
extension_ArkoseSessionToken
odpowiadającą atrybutowi niestandardowemuArkoseSessionToken
.Gdy użytkownik ukończy wyzwanie usługi Arkose Labs, odpowiedź użytkownika zostanie zweryfikowana i wygenerowany token. Wywołanie zwrotne
arkoseCallback
w niestandardowym języku JavaScript ustawia wartośćextension_ArkoseSessionToken
na wygenerowaną wartość tokenu. Ta wartość jest przesyłana do punktu końcowego interfejsu API.Uwaga
Przejdź do developer.arkoselabs.com, aby uzyskać instrukcjeClient-Side. Wykonaj kroki, aby użyć niestandardowego kodu HTML i języka JavaScript dla ścieżki użytkownika.
W obszarze Azure-Samples zmodyfikuj plik selfAsserted.html , aby
<ARKOSE_PUBLIC_KEY>
był zgodny z wartością wygenerowaną na potrzeby weryfikacji po stronie klienta.Hostowanie strony HTML w internetowym punkcie końcowym z włączoną obsługą współużytkowania zasobów między źródłami (CORS).
Obsługa mechanizmu CORS dla usługi Azure Storage.
Uwaga
Jeśli masz niestandardowy kod HTML, skopiuj i wklej elementy
<script>
na swoją stronę HTML.W witrynie Azure Portal przejdź do usługi Azure AD B2C.
Przejdź do obszaru Przepływy użytkownika.
Wybierz przepływ użytkownika.
Wybierz pozycję Układy stron.
Wybierz Układ strony rejestracji konta lokalnego.
W obszarze Użyj niestandardowej zawartości strony wybierz pozycję TAK.
W Użyj niestandardowej zawartości strony wklej niestandardowy adres URI HTML.
(Opcjonalnie) Jeśli używasz dostawców tożsamości społecznościowych, powtórz kroki dla strony rejestracji konta społecznościowego.
W przepływie użytkownika przejdź do pozycji Właściwości.
Wybierz pozycję Włącz język JavaScript.
Dowiedz się więcej: Włączanie języka JavaScript i wersji układu strony w usłudze Azure Active Directory B2C
Tworzenie i wdrażanie interfejsu API
W tej sekcji założono, że używasz programu Visual Studio Code do wdrażania usługi Azure Functions. Do wdrożenia można użyć witryny Azure Portal, terminalu lub wiersza polecenia.
Przejdź do witryny Visual Studio Marketplace, aby zainstalować usługę Azure Functions dla programu Visual Studio Code.
Uruchamianie interfejsu API lokalnie
- W programie Visual Studio Code w obszarze nawigacji po lewej stronie przejdź do rozszerzenia platformy Azure.
- Wybierz folder Projekt lokalny dla lokalnej funkcji platformy Azure.
- Naciśnij F5 lub wybierz pozycję Debuguj>Rozpocznij debugowanie. To polecenie korzysta z utworzonej konfiguracji debugowania funkcji Azure.
- Funkcja Azure generuje pliki na potrzeby programowania lokalnego oraz instaluje zależności i narzędzia Azure Functions Core, jeśli to konieczne.
- Na panelu terminalu programu Visual Studio Code wyświetlane są dane wyjściowe z narzędzia Function Core.
- Po uruchomieniu hosta naciśnij Alt+kliknij lokalny adres URL w danych wyjściowych.
- Zostanie otwarta przeglądarka i uruchomi funkcję .
- W Eksploratorze usługi Azure Functions kliknij prawym przyciskiem myszy funkcję, aby wyświetlić adres URL funkcji hostowanej lokalnie.
Dodawanie zmiennych środowiskowych
Przykład w tej sekcji chroni internetowy punkt końcowy interfejsu API podczas korzystania z uwierzytelniania podstawowego PROTOKOŁU HTTP. Dowiedz się więcej na stronie Internet Engineering Task Force RFC 7617: The Basic Authentication (Uwierzytelnianie podstawowe).
Nazwa użytkownika i hasło są przechowywane jako zmienne środowiskowe, a nie część repozytorium. Dowiedz się więcej na temat kodu i testowania usługi Azure Functions lokalnie, lokalnego pliku ustawień.
- W folderze głównym utwórz plik local.settings.json.
- Skopiuj i wklej następujący kod do pliku:
{
"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>"
}
}
- BASIC_AUTH_USERNAME i BASIC_AUTH_PASSWORD to poświadczenia służące do uwierzytelniania wywołania interfejsu API do Twojej funkcji Azure. Wybierz wartości.
-
<ARKOSE_PRIVATE_KEY> to sekret po stronie serwera wygenerowany na platformie Arkose Labs.
- Wywołuje interfejs API weryfikacji po stronie serwera usługi Arkose Labs, aby zweryfikować wartość
ArkoseSessionToken
wygenerowaną przez fronton. - Zobacz instrukcjeServer-Side.
- Wywołuje interfejs API weryfikacji po stronie serwera usługi Arkose Labs, aby zweryfikować wartość
- < > B2C_EXTENSIONS_APP_ID to identyfikator aplikacji używany przez usługę Azure AD B2C do przechowywania atrybutów niestandardowych w katalogu.
Przejdź do pozycji Rejestracje aplikacji.
Wyszukaj b2c-extensions-app.
W okienku Przegląd skopiuj identyfikator aplikacji (klienta).
-
Usuń te znaki.
Wdrażanie aplikacji w Internecie
Wdróż funkcję platformy Azure w chmurze. Dowiedz się więcej na temat dokumentacji usługi Azure Functions.
Skopiuj internetowy adres URL punktu końcowego funkcji platformy Azure.
Po wdrożeniu wybierz opcję Przekaż ustawienia .
Zmienne środowiskowe są przekazywane do ustawień aplikacji usługi App Service. Dowiedz się więcej na temat ustawień aplikacji na platformie Azure.
Uwaga
Możesz zarządzać swoją aplikacją funkcji. Zobacz również Wdrażanie plików projektu , aby dowiedzieć się więcej na temat programowania w programie Visual Studio Code dla usługi Azure Functions.
Konfigurowanie i włączanie łącznika interfejsu API
Utwórz łącznik interfejsu API. Zobacz, jak dodać łącznik interfejsu API do przepływu rejestracji użytkownika.
Włącz go dla przepływu użytkownika.
- Adres URL punktu końcowego — adres URL funkcji skopiowany podczas wdrażania funkcji platformy Azure
- Nazwa użytkownika — zdefiniowana nazwa użytkownika
- Hasło — zdefiniowane hasło
W ustawieniach łącznika interfejsu API dla przepływu użytkownika wybierz łącznik interfejsu API, który ma być wywoływany przed utworzeniem użytkownika.
Interfejs API weryfikuje wartość
ArkoseSessionToken
.
Testowanie przepływu użytkownika
- Otwórz tenant Azure AD B2C.
- W obszarze Zasady wybierz pozycję Przepływy użytkownika.
- Wybierz utworzony przepływ użytkownika.
- Wybierz Uruchom przepływ użytkownika.
- W polu Aplikacja wybierz zarejestrowaną aplikację (na przykład JWT).
- W polu Adres URL odpowiedzi wybierz adres URL przekierowania.
- Wybierz Uruchom przepływ użytkownika.
- Wykonaj proces rejestracji.
- Utwórz konto.
- Wyloguj się.
- Przejdź przez proces logowania.
- Wybierz Kontynuuj.
- Pojawia się zagadka Arkose Labs.
Zasoby
-
Azure-Samples/active-directory-b2c-node-sign-up-user-flow-arkose
- Znajdź przepływ użytkownika rejestracji w Azure AD B2C
- Omówienie zasad niestandardowych usługi Azure AD B2C
- Samouczek: tworzenie przepływów użytkownika i zasad niestandardowych w usłudze Azure Active Directory B2C