Aracılığıyla paylaş


Azure AD B2C kullanarak örnek bir Android uygulamasında kimlik doğrulamayı yapılandırma

Ö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, mobil uygulamalarınıza Azure Active Directory B2C (Azure AD B2C) kimlik doğrulaması eklemeyi göstermek için örnek bir Android uygulaması (Kotlin ve Java) kullanılmaktadır.

Genel Bakış

OpenID Connect (OIDC), OAuth 2.0 üzerinde oluşturulmuş bir kimlik doğrulama protokolüdür. Kullanıcıların uygulamada güvenli bir şekilde oturum açmasını sağlamak için OIDC'yi kullanabilirsiniz. Bu mobil uygulama örneği, OIDC yetkilendirme kodu PKCE akışı ile Microsoft Kimlik Doğrulama Kitaplığı'nı (MSAL) kullanır. MSAL, mobil uygulamalara kimlik doğrulaması ve yetkilendirme desteği eklemeyi kolaylaştıran Microsoft tarafından sağlanan bir kitaplıktır.

Oturum açma akışı aşağıdaki adımları içerir:

  1. Kullanıcılar uygulamayı açar ve oturum açmayı seçer.
  2. Uygulama, mobil cihazın sistem tarayıcısını açar ve Azure AD B2C'ye bir kimlik doğrulama isteği başlatır.
  3. Kullanıcılar kaydolun veya oturum açın, parolayı sıfırlayın veya bir sosyal hesapla oturum açın.
  4. Kullanıcılar başarıyla oturum açıldıktan sonra Azure AD B2C uygulamaya bir yetkilendirme kodu döndürür.
  5. Uygulama aşağıdaki eylemleri gerçekleştirir:
    1. Yetkilendirme kodunu bir kimlik belirteci, erişim belirteci ve yenileme belirteciyle değiştirir.
    2. Kimlik belirteci taleplerini okur.
    3. Belirteçleri daha sonra kullanmak üzere bellek içi önbellekte depolar.

Uygulama kaydına genel bakış

Uygulamanızın Azure AD B2C ile oturum açmasını ve bir web API'sini çağırmasını sağlamak için Azure AD B2C dizinine iki uygulama kaydedin.

  • Mobil uygulama kaydı, uygulamanızın Azure AD B2C ile oturum açmasını sağlar. Uygulama kaydı sırasında yeniden yönlendirme URI'sini belirtin. Yeniden yönlendirme URI'si, kullanıcıların Azure AD B2C ile kimlik doğrulaması yaptıktan sonra Azure AD B2C tarafından yeniden yönlendirildiği uç noktadır. Uygulama kayıt işlemi, mobil uygulamanızı benzersiz olarak tanımlayan istemci kimliği olarak da bilinen bir Uygulama Kimliği oluşturur (örneğin, Uygulama Kimliği: 1).

  • Web API kaydı, uygulamanızın korumalı bir web API'sini çağırmasını sağlar. Kayıt, web API'sinin izinlerini (kapsamları) kullanıma sunar. Uygulama kayıt işlemi, web API'nizi benzersiz olarak tanımlayan bir Uygulama Kimliği oluşturur (örneğin, Uygulama Kimliği: 2). Mobil uygulamanıza (Uygulama Kimliği: 1) web API'si kapsamları için izinler verin (Uygulama Kimliği: 2).

Uygulama kaydı ve uygulama mimarisi aşağıdaki diyagramlarda gösterilmiştir:

Web API çağrısı kayıtları ve belirteçleri içeren mobil uygulamanın diyagramı.

Web API'sine çağrı

Kimlik doğrulaması tamamlandıktan sonra, kullanıcılar korumalı bir web API'sini çağıran uygulamayla etkileşim kurar. Web API'sinde taşıyıcı belirteç kimlik doğrulaması kullanılır. Taşıyıcı belirteci, uygulamanın Azure AD B2C'den aldığı erişim belirtecidir. Uygulama, belirteci HTTPS isteğinin yetkilendirme üst bilgisine geçirir.

Authorization: Bearer <access token>

Erişim belirtecinin kapsamı web API'sinin kapsamlarıyla eşleşmiyorsa, kimlik doğrulama kitaplığı doğru kapsamlara sahip yeni bir erişim belirteci alır.

Oturumu kapatma süreci

Oturum kapatma akışı aşağıdaki adımları içerir:

  1. Uygulamadan kullanıcılar oturum açmayı kapatıyor.
  2. Uygulama oturum nesnelerini temizler ve kimlik doğrulama kitaplığı da belirteç önbelleğini temizler.
  3. Uygulama, Azure AD B2C oturumunu sonlandırmak için kullanıcıları Azure AD B2C oturumu kapatma uç noktasına götürür.
  4. Kullanıcılar uygulamaya geri yönlendirilir.

Önkoşullar

Çalışan bir bilgisayar:

1. Adım: Kullanıcı akışınızı yapılandırma

Kullanıcılar uygulamanızda oturum açmaya çalıştığında, uygulama bir kullanıcı akışı aracılığıyla yetkilendirme uç noktasına bir kimlik doğrulama isteği başlatır. Kullanıcı akışı, kullanıcı deneyimini tanımlar ve denetler. Kullanıcılar kullanıcı akışını tamamladıktan sonra Azure AD B2C bir belirteç oluşturur ve ardından kullanıcıları uygulamanıza geri yönlendirir.

Henüz yapmadıysanız, bir kullanıcı akışı veya özel ilke oluşturun. Üç ayrı kullanıcı akışı oluşturmak için aşağıdaki adımları yineleyin:

  • Birleştirilmiş Oturum açma ve kaydolma kullanıcı akışı, örneğin susi. Bu kullanıcı akışı, Parolanızı unuttunuz deneyimini de destekler.
  • Bir profil düzenleme kullanıcı akışı, örneğin edit_profile.
  • Gibi bir reset_password kullanıcı akışı.

Azure AD B2C, kullanıcı akışı adının önüne B2C_1_ ekler. Örneğin susi, B2C_1_susi olur.

2. Adım: Mobil uygulamaları kaydetme

Mobil uygulama ve web API'sinin uygulama kaydını oluşturun ve web API'nizin kapsamlarını belirtin.

2.1. Adım: Web API'sini kaydetme

Web API'si uygulama kaydını (Uygulama Kimliği: 2) oluşturmak için şu adımları izleyin:

  1. Azure portalınaoturum açın.

  2. Azure AD B2C kiracınızı içeren dizini kullandığınızdan emin olun. Portal araç çubuğunda Dizinler + abonelikler simgesini seçin.

  3. Portal ayarlarında | Dizinler + abonelikler sayfası, Dizin adı listesinde Azure AD B2C dizininizi bulun ve ardından Değiştir'i seçin.

  4. Azure portalında Azure AD B2C'yi arayın ve seçin.

  5. Uygulama kayıtlarıöğesini seçin, ve ardından Yeni kayıtöğesini seçin.

  6. Ad alanına uygulama için bir ad girin (örneğin, my-api1). Yeniden Yönlendirme URI'sinin ve Desteklenen hesap türlerinin varsayılan değerlerini değiştirmeyin.

  7. Kaydıseçin.

  8. Uygulama kaydı tamamlandıktan sonra Genel Bakış'ı seçin.

  9. Web uygulamasını yapılandırırken daha sonra kullanmak üzere Uygulama (istemci) Kimliği değerini kaydedin.

    Web A P I uygulaması I D'nin nasıl alınacağını gösteren ekran görüntüsü.

2.2. Adım: Web API'si uygulama kapsamlarını yapılandırma

  1. Oluşturduğunuz my-api1 uygulamasını (Uygulama Kimliği: 2) seçerek Genel Bakış sayfasını açın.

  2. Yönetaltında, Bir API'yi Kullanıma Sunmaseçin.

  3. Uygulama Kimliği URI'si'nin yanındaki Ayarla bağlantısını seçin. Varsayılan değeri (GUID) benzersiz bir adla (örneğin, tasks-api) değiştirin ve kaydet'i seçin.

    Web uygulamanız web API'si için bir erişim belirteci istediğinde, API için tanımladığınız her kapsamın ön eki olarak bu URI'yi eklemelidir.

  4. Bu API tarafından tanımlananKapsamlar altında Kapsam ekleöğesini seçin.

  5. API'ye okuma erişimini tanımlayan bir kapsam oluşturmak için:

    1. Kapsam adı olaraktasks.read girin.
    2. Yönetici onayı görünen adı için Görevlere okuma erişimi API'sini girin.
    3. Yönetici onayı açıklaması için Görevler API'sine okuma erişimi sağlar yazın.
  6. Kapsam ekle'yi seçin.

  7. Kapsam ekle'yi seçin ve ardından API'ye yazma erişimini tanımlayan bir kapsam ekleyin:

    1. Kapsam adı olaraktasks.write yazın.
    2. Yönetici onayı görünen adı içinGörevlere yazma erişimi API'sini girin.
    3. Yönetici onayı açıklaması için Görevler API'sine yazma erişimine izin verir yazın.
  8. Kapsam ekle'yi seçin.

2.3. Adım: Mobil uygulamayı kaydetme

Mobil uygulama kaydını oluşturmak için aşağıdakileri yapın:

  1. Azure portalınaoturum açın.

  2. Uygulama kayıtlarıöğesini seçin, ve ardından Yeni kayıtöğesini seçin.

  3. Ad'ın altında uygulama için bir ad girin (örneğin, android-app1).

  4. Desteklenen Hesap Türlerialtında, Kullanıcı akışlarıyla kullanıcıları kimlik doğrulama için herhangi bir kimlik sağlayıcısında veya kuruluş dizininde Hesaplar'ı seçin.

  5. Yeniden Yönlendirme URI'si'nin altında Genel istemci/yerel (mobil & masaüstü) öğesini seçin ve URL kutusuna aşağıdaki URI'lerden birini girin:

    • Kotlin örneği için: msauth://com.azuresamples.msalandroidkotlinapp/1wIqXSqBj7w%2Bh11ZifsnqwgyKrY%3D
    • Java örneği için: msauth://com.azuresamples.msalandroidapp/1wIqXSqBj7w%2Bh11ZifsnqwgyKrY%3D
  6. Kaydıseçin.

  7. Uygulama kaydı tamamlandıktan sonra Genel Bakış'ı seçin.

  8. Mobil uygulamayı yapılandırırken daha sonra kullanmak üzere Uygulama (istemci) kimliğini kaydedin.

    Android uygulama kimliğini vurgulayan ekran görüntüsü

2.4. Adım: Web API'sine yönelik mobil uygulama izinlerini verme

Uygulamanıza (Uygulama Kimliği: 1) izinleri vermek için şu adımları izleyin:

  1. Uygulama kayıtlarını seçin ve ardından da oluşturduğunuz uygulamayı seçin (Uygulama Kimliği: 1).

  2. Yönet altında API izinleri'ni seçin.

  3. Yapılandırılan izinler'in altında İzin ekle'yi seçin.

  4. API'lerim sekmesini seçin.

  5. Web uygulamasına erişim verilmesi gereken API'yi (Uygulama Kimliği: 2) seçin. Örneğin , my-api1 girin.

  6. İzin'in altında görevleri genişletin ve daha önce tanımladığınız kapsamları seçin (örneğin, tasks.read ve tasks.write).

  7. İzinler ekle'yi seçin.

  8. <Kiracı adınız için yönetici onayı ver seçeneğini seçin>.

  9. Evet'i seçin.

  10. Yenile'yi seçin ve her iki kapsam için durum altında ... için verildi ifadesinin göründüğünü doğrulayın.

  11. Yapılandırılan izinler listesinden kapsamınızı seçin ve kapsamın tam adını kopyalayın.

    Okuma erişim izinlerinin verildiğini gösteren yapılandırılmış izinler bölmesinin ekran görüntüsü.

3. Adım: Android mobil uygulama örneğini alma

Aşağıdakilerden birini yapın:

  • Şu örneklerden birini indirin:

    Örnek .zip dosyasını çalışma klasörünüzde ayıklayın.

  • GitHub'dan örnek Android mobil uygulamasını kopyalayın.

    git clone https://github.com/Azure-Samples/ms-identity-android-kotlin
    

4. Adım: Örnek web API'sini yapılandırma

Bu örnek, mobil uygulamanın bir web API'sinde kullanabileceği ilgili kapsamlara sahip bir erişim belirteci alır. Koddan bir web API'sini çağırmak için aşağıdakileri yapın:

  1. Mevcut bir web API'sini kullanın veya yeni bir tane oluşturun. Daha fazla bilgi için bkz . Azure AD B2C kullanarak kendi web API'nizde kimlik doğrulamasını etkinleştirme.
  2. Web API'sini çağırmak için örnek kodu değiştirin.

5. Adım: Örnek mobil uygulamayı yapılandırma

Örnek projeyi Android Studio veya başka bir kod düzenleyicisiyle açın ve ardından /app/src/main/res/raw/auth_config_b2c.json dosyasını açın.

auth_config_b2c.json yapılandırma dosyası, Azure AD B2C kimlik sağlayıcınız hakkında bilgi içerir. Mobil uygulama, Azure AD B2C ile güven ilişkisi kurmak, kullanıcıların oturumunu açıp kapatmak, belirteçleri almak ve bunları doğrulamak için bu bilgileri kullanır.

Aşağıdaki uygulama ayarları özelliklerini güncelleştirin:

Anahtar Değer
client_id 2.3. adımdaki mobil uygulama kimliği.
redirect_uri 2.3. adımdaki mobil uygulama yeniden yönlendirme URI'sini seçin.
yetkilileri Yetkili, MSAL'nin belirteç isteğinde bulunabileceği bir dizini gösteren bir URL'dir. Şu biçimi kullanın: https://<your-tenant-name>.b2clogin.com/<your-tenant-name>.onmicrosoft.com/<your-sign-in-sign-up-policy>. <your-tenant-name> alanını Azure AD B2C kiracı adınız ile değiştirin. Ardından değerini <your-sign-in-sign-up-policy> oluşturduğunuz kullanıcı akışları veya özel ilkeyle değiştirin.

sınıfını B2CConfiguration açın ve aşağıdaki sınıf üyelerini güncelleştirin:

Anahtar Değer
Politikalar 1. adımda oluşturduğunuz kullanıcı akışlarının veya özel ilkelerin listesi.
azureAdB2CHostName Azure AD B2C kiracı adınızın ilk bölümü (örneğin, https://contoso.b2clogin.com).
kiracıAdı Azure AD B2C kiracınızın tam kiracı adı (örneğin, contoso.onmicrosoft.com).
Kapsam 2.4. adımda oluşturduğunuz web API kapsamları.

6. Adım: Mobil uygulamayı çalıştırma ve test edin

  1. Projeyi derleyin ve çalıştırın.

  2. Sol üst kısımda gösterildiği gibi hamburger simgesini (daraltılmış menü simgesi olarak da adlandırılır) seçin:

    Hamburger veya daraltılmış menü simgesini vurgulayan ekran görüntüsü.

  3. Sol bölmede B2C Modu'nu seçin.

    Sol bölmedeki

  4. Kullanıcı Akışını Çalıştır'ı seçin.

  5. Azure AD B2C yerel veya sosyal hesabınızla kaydolun veya oturum açın.

  6. Kimlik doğrulaması başarılı olduktan sonra görünen adınızı B2C modu bölmesinde görürsünüz.

    Oturum açmış kullanıcı ve ilkenin görüntülendiği başarılı bir kimlik doğrulamasını gösteren ekran görüntüsü.

Sonraki Adımlar

Nasıl yapılacağını öğrenin: