Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunun için geçerlidir:
Dış kiracılar (daha fazla bilgi edinin)
Bu öğreticide isBrowserRequired() hatanın nasıl oluştuğu ve bunu nasıl çözebileceğiniz gösterilmektedir. yardımcı programı yöntemi isBrowserRequired(), yerel kimlik doğrulamasının kimlik doğrulama akışını işlevsel ve güvenli bir şekilde tamamlamak için yeterli olmadığı çeşitli senaryolar için geri dönüş mekanizması gereksinimini denetler.
Bu öğreticide şunları yapacaksınız:
-
isBrowserRequired()kontrol et - İşle
isBrowserRequired()
Önkoşullar
- Örnek bir Android mobil uygulamasında kullanıcıların oturum açma adımlarını tamamlayın. Bu makalede, kiracı ayarlarınızı kullanarak yapılandırdığınız örnek bir Android'i nasıl çalıştırabileceğiniz gösterilir.
- Eğitim: Email ile tek seferlik geçiş kodu kullanarak oturum açma ve kapatma ekleme adımlarını tamamlayın.
Web geri dönüşü
Yerel kimlik doğrulamasının kullanıcı kimlik doğrulaması akışını tamamlamak için yeterli olmadığı senaryolar için web geri dönüş mekanizmasını kullanın.
Android SDK'sını başlatırken, mobil uygulamanızın desteklediği oob ve parolagibi sınama türlerini belirtirsiniz.
İstemci uygulamanız Microsoft Entra'nın gerektirdiği sınama türünü destekleyemiyorsa, Microsoft Entra'nın yanıtı istemci uygulamasının tarayıcıda kimlik doğrulama akışıyla devam etmesi gerektiğini gösterir. Örneğin, SDK'yı oob sınama türüyle başlatırsınız, ancak Microsoft Entra yönetim merkezinde uygulamayı parola kimlik doğrulama yöntemiyle bir e-postayla yapılandırabilirsiniz.
Bu durumda, isBrowserRequired() yardımcı programı yöntemi true döndürür.
Örnek proses akışı
şimdi isBrowserRequired()döndüren örnek bir akışa ve bunu nasıl işleyebileceğinize bakalım:
Başlatma sırasında SDK'ya geçirdiğiniz JSON yapılandırma dosyasında, aşağıdaki kod parçacığını gösterildiği gibi yalnızca oob sınama türünü ekleyin:
PublicClientApplication.createNativeAuthPublicClientApplication( requireContext(), R.raw.native_auth_config // JSON configuration file )native_auth_config.jsonyapılandırması aşağıdaki kod parçacığına sahiptir:{ "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 } }Microsoft Entra yönetim merkezinde kullanıcı akışınızı kimlik doğrulama yöntemi olarak E-posta ve parola kullanacak şekilde yapılandırın.
SDK'nın
signUp(parameters)yöntemini kullanarak bir kaydolma akışı başlatın. Microsoft EntraSignUpErrorparola veisBrowserRequired()sınama türü beklediğinden denetimini geçen bir alırsınız, ancak SDK'nızı yalnızca oobile yapılandırmış olursunuz.isBrowserRequired()denetlemek ve işlemek için aşağıdaki kod parçacığını kullanın:val parameters = NativeAuthSignUpParameters(username = email) val actionResult: SignUpResult = authClient.signUp(parameters) if (actionResult is SignUpError && actionResult.isBrowserRequired()) { // Handle "browser required" error }Kod, kimlik doğrulama akışının yerel kimlik doğrulaması aracılığıyla tamamlanamadığını ve bir tarayıcının kullanılması gerektiğini gösterir.
isBrowserRequired() hatasını yönetme
Bu hatayı işlemek için istemci uygulamasının bir tarayıcı başlatması ve kimlik doğrulama akışını yeniden başlatması gerekir. Microsoft Authentication Library (MSAL) acquireToken() yöntemini kullanarak bunu yapabilirsiniz.
Bunu yapmak için aşağıdaki adımları kullanın:
Daha önce kaydettiğiniz uygulamaya yeniden yönlendirme URI'si eklemek için Platform yeniden yönlendirme URL'si eklemeiçindeki adımları kullanın.
İstemci uygulamanızın yapılandırma dosyasını güncelleştirmek için Örnek uygulamayı yapılandırma'daki adımları kullanın.
acquireToken()yöntemini kullanarak belirteç almak için aşağıdaki kod parçacığını kullanın:val parameters = NativeAuthSignUpParameters(username = email) val actionResult: SignUpResult = authClient.signUp(parameters) 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. ) }
Kimlik belirteci, erişim belirteci ve yenileme belirteci olan güvenlik belirteçleri, yerel kimlik doğrulama akışı aracılığıyla elde ettiğiniz belirteç, tarayıcı tarafından temsilci olarak atanan akış aracılığıyla aldığınız belirteçle aynıdır.
İlgili içerik
- iOS örnek uygulamasını nasıl çalıştıracağınızı öğrenin
- E-posta ile tek seferlik geçiş kodu kullanarak Yerel kimlik doğrulama API referansını keşfedin.
- sınama türleri hakkında bilgi edinin.