Kurz: Podpora webové záložní aplikace pro Android
Tento kurz ukazuje, jak isBrowserRequired()
k chybě dochází a jak ji můžete vyřešit. Metoda isBrowserRequired()
nástroje kontroluje potřebu náhradního mechanismu pro různé scénáře, kdy nativní ověřování nestačí k dokončení toku ověřování funkčním a bezpečným způsobem.
V tomto kurzu se naučíte:
- Kontrolovat
isBrowserRequired()
- Klika
isBrowserRequired()
Požadavky
- Dokončete kroky v části Přihlášení uživatelů v ukázkové nativní mobilní aplikaci pro Android. V tomto článku se dozvíte, jak spustit ukázkový Android, který nakonfigurujete pomocí nastavení tenanta.
- Dokončete kroky v kurzu: Přidejte přihlášení a odhlaste se pomocí jednorázového hesla e-mailu.
Záložní webová aplikace
Pro scénáře, kdy nativní ověřování nestačí k dokončení toku ověřování uživatelů, použijte mechanismus pro použití náhradního webu.
Při inicializaci sady Android SDK zadáte typy výzvy, které vaše mobilní aplikace podporuje, například oob a heslo.
Pokud vaše klientská aplikace nemůže podporovat typ výzvy, který Microsoft Entra vyžaduje, odpověď Microsoft Entra indikuje, že klientská aplikace musí pokračovat v toku ověřování v prohlížeči. Například inicializujete sadu SDK s typem výzvy oob , ale v Centru pro správu Microsoft Entra nakonfigurujete aplikaci pomocí e-mailu s metodou ověřování hesla.
V tomto případě metoda utility isBrowserRequired()
vrátí hodnotu true.
Ukázkový tok
Podívejme se na příklad toku, který se vrátí isBrowserRequired()
a jak ho můžete zpracovat:
V konfiguračním souboru JSON, který předáte sadě SDK během inicializace, přidejte pouze typ výzvy oob , jak ukazuje následující fragment kódu:
PublicClientApplication.createNativeAuthPublicClientApplication( requireContext(), R.raw.native_auth_config // JSON configuration file )
Konfigurace
native_auth_config.json
má následující fragment kódu:{ "client_id" : "{Enter_the_Application_Id_Here}", "authorities" : [ { "type": "CIAM", "authority_url": "https://{Enter_the_Tenant_Subdomain_Here}.ciamlogin.com/{Enter_the_Tenant_Subdomain_Here}.onmicrosoft.com/" } ], "challenge_types" : ["oob"], "logging": { "pii_enabled": false, "log_level": "INFO", "logcat_enabled": true } }
V Centru pro správu Microsoft Entra nakonfigurujte tok uživatele tak, aby jako metodu ověřování používal e-mail s heslem.
Spusťte tok registrace pomocí metody sady SDK
signUp(username)
. ZískáteSignUpError
kontrolu, která předáisBrowserRequired()
kontrolu, protože Microsoft Entra očekává heslo a typ výzvy oob, ale nakonfigurovali jste sadu SDK pouze s oob.Ke kontrole a zpracování
isBrowserRequired()
kódu použijte následující fragment kódu:val actionResult = authClient.signUp( username = email ) if (actionResult is SignUpError && actionResult.isBrowserRequired()) { // Handle "browser required" error }
Kód označuje, že tok ověřování nejde dokončit prostřednictvím nativního ověřování a že se musí použít prohlížeč.
Chyba handle isBrowserRequired()
Pro zpracování této chyby musí klientská aplikace spustit prohlížeč a restartovat tok ověřování. Můžete toho dosáhnout pomocí metody MSAL acquireToken()
(Microsoft Authentication Library).
Můžete to udělat podle následujících kroků:
Pokud chcete do aplikace, kterou jste zaregistrovali dříve, přidat identifikátor URI přesměrování, použijte postup v části Přidání adresy URL pro přesměrování platformy.
Pokud chcete aktualizovat konfigurační soubor klientské aplikace, použijte postup konfigurace identifikátoru URI přesměrování v konfiguraci sady SDK.
K získání tokenu pomocí
acquireToken()
metody použijte následující fragment kódu:val actionResult = authClient.signUp( username = email ) if (actionResult is SignUpError && actionResult.isBrowserRequired()) { authClient.acquireToken( AcquireTokenParameters( AcquireTokenParameters.Builder() .startAuthorizationFromActivity(requireActivity()) .withScopes(getScopes()) .withCallback(getAuthInteractiveCallback()) ) // Result will contain account and tokens retrieved through the browser. ) }
Tokeny zabezpečení, tokeny ID, přístupový token a obnovovací token, projdete nativním ověřovacím tokem stejně jako token, který získáte prostřednictvím toku delegovaného prohlížečem.
Související obsah
- Přečtěte si , jak spustit ukázkovou aplikaci pro iOS.
- Prozkoumejte referenční informace k rozhraní API nativního ověřování pomocí jednorázového hesla e-mailu.
- Seznamte se s typy výzev.