Oktatóanyag: Webes tartalék támogatás androidos alkalmazásban
Ez az oktatóanyag bemutatja, hogyan isBrowserRequired()
történik a hiba, és hogyan háríthatja el. A segédprogram módszer isBrowserRequired()
ellenőrzi, hogy szükség van-e tartalék mechanizmusra olyan különböző helyzetekben, ahol a natív hitelesítés nem elegendő a hitelesítési folyamat funkcionális és biztonságos befejezéséhez.
Ebben az oktatóanyagban az alábbiakkal fog megismerkedni:
- Ellenőriz
isBrowserRequired()
- Fogantyú
isBrowserRequired()
Előfeltételek
- Hajtsa végre a bejelentkezési lépéseket egy natív Android-mobilalkalmazásban. Ez a cikk bemutatja, hogyan futtathat egy minta Androidot, amelyet a bérlői beállítások használatával konfigurál.
- Végezze el az oktatóanyag lépéseit : Jelentkezzen be, és jelentkezzen ki e-mailben egyszeri pin-kóddal.
Webes tartalék
Webes tartalék mechanizmus használata olyan forgatókönyvekhez, ahol a natív hitelesítés nem elegendő a felhasználói hitelesítési folyamat befejezéséhez.
Az Android SDK inicializálásakor meg kell adnia a mobilalkalmazás által támogatott kihívástípusokat, például az oobot és a jelszót.
Ha az ügyfélalkalmazás nem tudja támogatni a Microsoft Entra által igényelt kihívástípust, a Microsoft Entra válasza azt jelzi, hogy az ügyfélalkalmazásnak folytatnia kell a böngészőben a hitelesítési folyamatot. Például inicializálja az SDK-t oob challenge típussal, de a Microsoft Entra felügyeleti központban egy jelszó-hitelesítési módszerrel konfigurálja az alkalmazást.
Ebben az esetben a segédprogram metódusa isBrowserRequired()
igaz értéket ad vissza.
Mintafolyamat
Tekintsünk meg egy példafolyamatot, amely visszaadja isBrowserRequired()
, és hogyan kezelheti azt:
Az inicializálás során az SDK-nak átadott JSON-konfigurációs fájlban csak az oob challenge típust adja hozzá az alábbi kódrészletnek megfelelően:
PublicClientApplication.createNativeAuthPublicClientApplication( requireContext(), R.raw.native_auth_config // JSON configuration file )
A
native_auth_config.json
konfiguráció a következő kódrészletet tartalmazza:{ "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 } }
A Microsoft Entra Felügyeleti központban konfigurálja a felhasználói folyamatot úgy, hogy a jelszóval ellátott e-maileket használja hitelesítési módszerként.
Regisztrációs folyamat indítása az SDK metódusával
signUp(username)
. A Microsoft Entra a jelszó és az oob kihívás típusának megfelelően adja átSignUpError
azisBrowserRequired()
ellenőrzést, de az SDK-t csak oob használatával konfigurálta.Az ellenőrzéshez és a
isBrowserRequired()
kezeléshez használja a következő kódrészletet:val actionResult = authClient.signUp( username = email ) if (actionResult is SignUpError && actionResult.isBrowserRequired()) { // Handle "browser required" error }
A kód azt jelzi, hogy a hitelesítési folyamat nem fejezhető be natív hitelesítéssel, és hogy böngészőt kell használni.
Handle isBrowserRequired() error
A hiba kezeléséhez az ügyfélalkalmazásnak el kell indítania egy böngészőt, és újra kell indítania a hitelesítési folyamatot. Ezt a Microsoft Authentication Library (MSAL) acquireToken()
metódussal teheti meg.
Ehhez a következőket kell tennie:
Ha átirányítási URI-t szeretne hozzáadni a korábban regisztrált alkalmazáshoz, kövesse a Platformátirányítási URL-cím hozzáadása című szakasz lépéseit.
Az ügyfélalkalmazás konfigurációs fájljának frissítéséhez kövesse az átirányítási URI konfigurálása az SDK konfigurációjában című cikket.
A következő kódrészlet használatával szerezhet be jogkivonatot a
acquireToken()
metódussal: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. ) }
A biztonsági jogkivonatok, vagyis az azonosító jogkivonat, a hozzáférési jogkivonat és a frissítési jogkivonat, a natív hitelesítési folyamaton keresztüli lekérés megegyezik a böngésző által delegált folyamaton keresztül kapott jogkivonattal.
Kapcsolódó tartalom
- Útmutató az iOS-mintaalkalmazás futtatásához
- Ismerje meg a natív hitelesítési API-referenciát az egyszeri e-mail-jelszóval.
- Ismerje meg a kihívások típusait.