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.
Önemli
1 Mayıs 2025 tarihinden itibaren Azure AD B2C artık yeni müşteriler için satın alınamayacak. SSS bölümünden daha fazla bilgi edinebilirsiniz.
Bu makalede, Android uygulamanız için Azure Active Directory B2C (Azure AD B2C) kimlik doğrulama deneyimini nasıl etkinleştirebileceğiniz, özelleştirebileceğiniz ve geliştirebileceğiniz açıklanır.
Başlamadan önce aşağıdaki makaleler hakkında bilgi sahibi olun:
- Azure AD B2C kullanarak örnek bir Android uygulamasında kimlik doğrulamayı yapılandırma
- Azure AD B2C kullanarak kendi Android uygulamanızda kimlik doğrulamasını etkinleştirme
Özel bir etki alanı kullanın
Özel bir etki alanı kullanarak kimlik doğrulama URL'sini tamamen markalayabilirsiniz. Kullanıcı perspektifinden bakıldığında, kullanıcılar kimlik doğrulama işlemi sırasında Azure AD B2C b2clogin.com alan adına yönlendirilmeden kendi alan adınızda kalır.
URL'de tüm "b2c" referanslarını kaldırmak için, kimlik doğrulama isteği URL'sindeki B2C kiracı adınızı, contoso.onmicrosoft.com yerine kiracı kimliği GUID'niz ile değiştirebilirsiniz. Örneğin, https://fabrikamb2c.b2clogin.com/contoso.onmicrosoft.com/'ı https://account.contosobank.co.uk/<tenant ID GUID>/ olarak değiştirebilirsiniz.
Kimlik doğrulama URL'sinde özel bir etki alanı ve kiracı kimliğinizi kullanmak için Özel etki alanlarını etkinleştirme başlığındaki yönergeleri izleyin. Microsoft Kimlik Doğrulama Kitaplığınızı (MSAL yapılandırma nesnesi) arayın ve ardından yetkilileri özel etki alanı adınız ve kiracı kimliğiniz ile güncelleştirin.
Aşağıdaki Kotlin kodu, değişiklik öncesinde MSAL yapılandırma nesnesini gösterir:
val parameters = AcquireTokenParameters.Builder()
.startAuthorizationFromActivity(activity)
.fromAuthority("https://contoso.b2clogin.com/fabrikamb2c.contoso.com/B2C_1_susi")
// More settings here
.build()
b2cApp!!.acquireToken(parameters)
Aşağıdaki Kotlin kodu, değişiklik sonrasında MSAL yapılandırma nesnesini gösterir:
val parameters = AcquireTokenParameters.Builder()
.startAuthorizationFromActivity(activity)
.fromAuthority("https://custom.domain.com/00000000-0000-0000-0000-000000000000/B2C_1_susi")
// More settings here
.build()
b2cApp!!.acquireToken(parameters)
Oturum açma adını önceden doldurma
Oturum açma kullanıcı yolculuğu sırasında uygulamanız belirli bir kullanıcıyı hedef alabilir. Bir uygulama bir kullanıcıyı hedeflediğinde, yetkilendirme isteğinde login_hint kullanıcının oturum açma adıyla sorgu parametresini belirtebilir. Azure AD B2C, oturum açma adını otomatik olarak doldurur ve kullanıcının yalnızca parolayı sağlaması gerekir.
Oturum açma adını önceden doldurmak için aşağıdakileri yapın:
- Özel bir ilke kullanıyorsanız, Doğrudan oturum açmayı ayarlama bölümünde açıklandığı gibi gerekli giriş beyanını ekleyin.
- MSAL yapılandırma nesnenizi arayın ve ardından oturum açma ipucuyla yöntemini ekleyin
withLoginHint().
val parameters = AcquireTokenParameters.Builder()
.startAuthorizationFromActivity(activity)
.withLoginHint("bob@contoso.com")
// More settings here
.build()
b2cApp!!.acquireToken(parameters)
Kimlik sağlayıcısını önceden seçme
Uygulamanızın oturum açma yolculuğunu Facebook, LinkedIn veya Google gibi sosyal hesapları içerecek şekilde yapılandırdıysanız parametresini domain_hint belirtebilirsiniz. Bu sorgu parametresi, Azure AD B2C'ye oturum açmak için kullanılması gereken sosyal kimlik sağlayıcısı hakkında bir ipucu sağlar. Örneğin, uygulama belirtirse domain_hint=facebook.comoturum açma akışı doğrudan Facebook oturum açma sayfasına gider.
Kullanıcıları bir dış kimlik sağlayıcısına yönlendirmek için aşağıdakileri yapın:
- Dış kimlik sağlayıcınızın alan adını denetleyin. Daha fazla bilgi için bkz. Oturum açmayı sosyal bir sağlayıcıyayönlendirme.
- Ek sorgu parametrelerini depolamak için mevcut bir liste nesnesi oluşturun veya kullanın.
-
domain_hintİlgili etki alanı adını içeren parametresini listeye ekleyin (örneğin,facebook.com). - Ek sorgu parametreleri listesini MSAL yapılandırma nesnesinin
withAuthorizationQueryStringParametersyöntemine geçirin.
val extraQueryParameters: MutableList<Pair<String, String>> = ArrayList()
extraQueryParameters.add(Pair("domain_hint", "facebook.com"))
val parameters = AcquireTokenParameters.Builder()
.startAuthorizationFromActivity(activity)
.withAuthorizationQueryStringParameters(extraQueryParameters)
// More settings here
.build()
b2cApp!!.acquireToken(parameters)
Kullanıcı arabirimi dilini belirtme
Azure AD B2C'de dil özelleştirmesi, kullanıcı akışınızın müşterilerinizin ihtiyaçlarına uygun çeşitli dilleri barındırmasını sağlar. Daha fazla bilgi için bkz . Dil özelleştirme.
Tercih edilen dili ayarlamak için aşağıdakileri yapın:
- Dil özelleştirmesini yapılandırın.
- Ek sorgu parametrelerini depolamak için mevcut bir liste nesnesi oluşturun veya kullanın.
- parametresini
ui_localesilgili dil koduyla listeye ekleyin (örneğin,en-us). - Ek sorgu parametreleri listesini MSAL yapılandırma nesnesinin
withAuthorizationQueryStringParametersyöntemine geçirin.
val extraQueryParameters: MutableList<Map.Entry<String, String>> = ArrayList()
val mapEntry = object : Map.Entry<String, String> {
override val key: String = "ui_locales"
override val value: String = "en-us"
}
extraQueryParameters.add(mapEntry )
val parameters = AcquireTokenParameters.Builder()
.startAuthorizationFromActivity(activity)
.withAuthorizationQueryStringParameters(extraQueryParameters)
// More settings here
.build()
b2cApp!!.acquireToken(parameters)
Özel sorgu dizesi parametresi geçirme
Özel ilkelerle, özel bir sorgu dizesi parametresi geçirebilirsiniz. İyi bir kullanım örneği, sayfa içeriğini dinamik olarak değiştirmek istediğiniz durumlardır.
Özel sorgu dizesi parametresi geçirmek için aşağıdakileri yapın:
- ContentDefinitionParameters öğesini yapılandırın.
- Ek sorgu parametrelerini depolamak için mevcut bir liste nesnesi oluşturun veya kullanın.
- gibi
campaignIdözel sorgu dizesi parametresini ekleyin. Parametre değerini ayarlayın (örneğin,germany-promotion). - Ek sorgu parametreleri listesini MSAL yapılandırma nesnesinin
withAuthorizationQueryStringParametersyöntemine geçirin.
val extraQueryParameters: MutableList<Pair<String, String>> = ArrayList()
extraQueryParameters.add(Pair("campaignId", "germany-promotion"))
val parameters = AcquireTokenParameters.Builder()
.startAuthorizationFromActivity(activity)
.withAuthorizationQueryStringParameters(extraQueryParameters)
// More settings here
.build()
b2cApp!!.acquireToken(parameters)
Kimlik belirteci ipucu sağla
Bağlı olan taraf uygulaması, OAuth2 yetkilendirme isteğinin bir parçası olarak bir gelen JSON Web Belirteci (JWT) gönderebilir. Gelen belirteç, kullanıcı veya yetkilendirme isteği hakkında bir ipucudur. Azure AD B2C belirteci doğrular ve ardından talebi ayıklar.
Kimlik doğrulama isteğine kimlik belirteci ipucu eklemek için aşağıdakileri yapın:
- Özel ilkenizde bir kimlik belirteci ipucu teknik profili tanımlayın.
- Kodunuzda bir kimlik belirteci oluşturun veya alın ve belirteci bir değişken olarak ayarlayın (örneğin,
idToken). - Ek sorgu parametrelerini depolamak için mevcut bir liste nesnesi oluşturun veya kullanın.
-
id_token_hintparametresini, kimlik belirtecini depolayan ilgili değişkenle ekleyin. - Ek sorgu parametreleri listesini MSAL yapılandırma nesnesinin
withAuthorizationQueryStringParametersyöntemine geçirin.
val extraQueryParameters: MutableList<Pair<String, String>> = ArrayList()
extraQueryParameters.add(Pair("id_token_hint", idToken))
val parameters = AcquireTokenParameters.Builder()
.startAuthorizationFromActivity(activity)
.withAuthorizationQueryStringParameters(extraQueryParameters)
// More settings here
.build()
b2cApp!!.acquireToken(parameters)
Eklenmiş web görünümü deneyimi
Etkileşimli kimlik doğrulaması için web tarayıcıları gereklidir. Varsayılan olarak, MSAL kitaplığı sistem web görünümünü kullanır. Oturum açma sırasında MSAL kitaplığı, Azure AD B2C kullanıcı arabirimiyle Android sistem web görünümünü açar.
Daha fazla bilgi için MSAL kullanarak Android'de uygulamalar arası SSO'nun etkinleştirilmesi makalesine bakın.
Gereksinimlerinize bağlı olarak, eklenmiş web görünümünü kullanabilirsiniz. Ekli web görünümü ile MSAL'deki sistem web görünümü arasında görsel ve çoklu oturum açma davranışı farklılıkları vardır.
Önemli
Normalde sistem tarayıcısı olan platform varsayılanını kullanmanızı öneririz. Sistem tarayıcısı, daha önce oturum açmış olan kullanıcıları hatırlamakta daha iyidir. Google gibi bazı kimlik sağlayıcıları ekli görünüm deneyimini desteklemez.
Bu davranışı değiştirmek için app/src/main/res/raw/auth_config_b2c.json dosyasını açın. Ardından özniteliğini authorization_user_agent değeriyle WEBVIEW ekleyin. Aşağıdaki örnekte, web görünümü türünün eklenmiş görünüm olarak nasıl değiştireceği gösterilmektedir:
{
"authorization_user_agent": "WEBVIEW"
}
Sonraki Adımlar
- Android yapılandırması hakkında daha fazla bilgi edinmek için bkz. Android için MSAL yapılandırma seçenekleri.