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.
Çoklu oturum açma (SSO), kullanıcıların kimlik bilgilerini yalnızca bir kez girmesini ve bu kimlik bilgilerinin uygulamalar arasında otomatik olarak çalışmasını sağlar. Kullanıcı deneyimini geliştirir ve kullanıcıların yönetmesi gereken parola sayısını azaltarak güvenliği artırır ve parola yorgunluğu ve ilişkili güvenlik açıkları riskini azaltır.
Microsoft kimlik platformu ve Microsoft Authentication Library (MSAL), uygulama paketinizde SSO'nun etkinleştirilmesine yardımcı olur. Aracı özelliğini etkinleştirerek SSO'yı tüm cihaz genelinde genişletebilirsiniz.
Bu nasıl yapılır makalesinde, müşterilerinize SSO sağlamak için uygulamanız tarafından kullanılan Yazılım Geliştirme Setlerini (SDK' lar) yapılandırmayı öğreneceksiniz.
Prerequisites
Bu kılavuz, şunları nasıl yapacağınızı bildiğinizi varsayar:
- Uygulamanızı sağlayın. Daha fazla bilgi için Android öğreticisinde uygulama oluşturma yönergelerine bakın
- Uygulamanızı Android için MSAL ile tümleştirme
SSO yöntemleri
Android için MSAL kullanan uygulamaların SSO'ya ulaşmanın iki yolu vardır:
Aracı uygulama aracılığıyla
Sistem tarayıcısı aracılığıyla
Cihaz genelinde SSO, hesap yönetimi ve Koşullu Erişim gibi avantajlar için bir aracı uygulaması kullanmanız önerilir. Ancak, kullanıcılarınızın ek uygulamalar indirmesini gerektirir.
Aracılı kimlik doğrulaması ile SSO
Cihaz genelinde SSO'ya katılmak ve kurumsal Koşullu Erişim ilkelerini karşılamak için Microsoft kimlik doğrulama aracılarından birini kullanmanızı öneririz. Bir aracıyla tümleştirmek aşağıdaki avantajları sağlar:
- Cihaz SSO
- Koşullu Erişim:
- Intune Uygulama Koruması
- Cihaz Kaydı (İş Yerine Katılma)
- Mobil Cihaz Yönetimi
- Cihaz Genelinde Hesap Yönetimi
- Android AccountManager ve Hesap Ayarları aracılığıyla
- "İş Hesabı" - özel hesap türü
Android'de Microsoft Kimlik Doğrulama Aracısı, Microsoft Authenticator, Intune Şirket Portalı ve Windows uygulamalarına bağlanmaya dahil edilen bir bileşendir.
Aşağıdaki diyagramda uygulamanız, MSAL ve Microsoft kimlik doğrulama aracıları arasındaki ilişki gösterilmektedir.
Broker barındıran uygulamaları yükleme
Aracı barındırma uygulamaları, cihaz sahibi tarafından herhangi bir zamanda uygulama mağazasından (genellikle Google Play Store) yüklenebilir. Ancak, bazı API'ler (kaynaklar) cihazların şunlar olmasını gerektiren Koşullu Erişim İlkeleri ile korunur:
- Kayıtlı (iş yerine katılmış) ve/veya
- Cihaz Yönetimine kaydedildi veya
- Intune Uygulama Koruması'nda kayıtlı
Yukarıda belirtilen gereksinimlere sahip cihazda yüklü bir aracı uygulaması yoksa MSAL, uygulama etkileşimli olarak belirteç almaya çalıştığında kullanıcıya bir aracı uygulaması yüklemesini bildirir. Ardından uygulama, cihazı gerekli ilkeyle uyumlu hale getirme adımlarını izleyerek kullanıcıya yol gösterir. İlke gereksinimi yoksa veya kullanıcı Microsoft hesabı ile oturum açıyorsa Aracı uygulaması yüklemesi gerekli değildir.
Aracı yükleme ve kaldırmanın etkileri
Bir broker kurulduğunda
Bir aracı bir cihaza yüklendiğinde, bundan sonraki tüm etkileşimli belirteç istekleri (acquireToken() çağrıları) MSAL tarafından yerel olarak işlenmek yerine aracı tarafından işlenir. Daha önce MSAL için kullanılabilir olan herhangi bir SSO durumu aracı tarafından kullanılamaz. Sonuç olarak, kullanıcının yeniden kimlik doğrulaması yapması veya cihaz tarafından bilinen mevcut hesap listesinden bir hesap seçmesi gerekir.
Bir broker'ın yüklenmesi, kullanıcının yeniden oturum açmasını gerektirmez. Yalnızca kullanıcının bir MsalUiRequiredException sorunu çözmesi gerektiğinde bir sonraki istek aracıya gider.
MsalUiRequiredException çeşitli nedenlerle fırlatılabilir ve etkileşimli şekilde giderilmesi gerekir. Örneğin:
- Kullanıcı hesabıyla ilişkili parolayı değiştirdi.
- Kullanıcının hesabı artık koşullu erişim ilkesini karşılamıyor.
- Kullanıcı, uygulamanın hesabıyla ilişkilendirilmesine ilişkin onayını iptal etti.
Birden çok aracı - Bir cihaza birden çok aracı yüklenirse, MSAL kimlik doğrulama işlemini tamamlamak için etkin aracıyı kendi başına tanımlar
Aracı kaldırıldığında
Yalnızca bir aracı barındırma uygulaması yüklüyse ve uygulama kaldırıldıysa kullanıcının yeniden oturum açması gerekir. Etkin aracı kaldırılarak hesap ve ilişkili belirteçler cihazdan kaldırılır.
Microsoft Authenticator, Intune Şirket Portalı veya Windows bağlantısı kaldırılırsa, kullanıcıdan yeniden oturum açması istenebilir.
Broker ile entegrasyon
Aracı uygulama için yönlendirme URI’si oluşturun
Broker ile uyumlu bir yeniden yönlendirme URI’si kaydetmeniz gerekir. Aracı için yeniden yönlendirme URI'sinde uygulamanızın paket adı ve uygulamanızın imzasının Base64 ile kodlanmış gösterimi bulunmalıdır.
Yeniden yönlendirme URI'sinin biçimi: msauth://<yourpackagename>/<base64urlencodedsignature>
Keytool kullanarak uygulamanızın imzalama anahtarlarını kullanarak Base64 kodlu imza karması oluşturabilir ve ardından bu karmayı kullanarak yeniden yönlendirme URI'nizi oluşturabilirsiniz.
Linux ve macOS:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
Windows:
keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64
Keytool ile imza karması oluşturduktan sonra yeniden yönlendirme URI'sini oluşturmak için Azure portalını kullanın:
- En az bir bulut uygulaması yöneticisi olarak Microsoft Entra yönetim merkezinde oturum açın.
- Birden çok kiracıya erişiminiz varsa, Üst menüdeki Ayarlar simgesini
kullanarak Dizinler + abonelikler menüsünden uygulama kaydını içeren kiracıya geçin. - Entra ID>Uygulama Kayıtları bölümüne gidin.
- Uygulamanızı seçin ve ardından Kimlik Doğrulaması>Platform> ekleAndroid'i seçin.
- Açılan Android uygulamanızı yapılandırın bölmesinde, daha önce oluşturduğunuz İmza karması ve bir Paket adı girin.
- Yapılandır düğmesini seçin.
Yeniden yönlendirme URI'si sizin için oluşturulur ve Android yapılandırma bölmesinin Yeniden Yönlendirme URI'si alanında görüntülenir.
Uygulamanızı imzalama hakkında daha fazla bilgi için bkz. Android Studio Kullanıcı Kılavuzu'nda uygulamanızı imzalama .
MSAL'yi aracı kullanacak şekilde yapılandırma
Uygulamanızda bir broker kullanmak için broker yönlendirmenizi yapılandırdığınızı beyan etmeniz gerekir. Örneğin, MSAL yapılandırma dosyanıza aşağıdaki ayarları ekleyerek hem aracının etkin olduğu yeniden yönlendirme URI'nizi ekleyin hem de bunu kaydettiğinizi belirtin:
"redirect_uri" : "<yourbrokerredirecturi>",
"broker_redirect_uri_registered": true
Broker ile ilgili istisnalar
MSAL aracıyla iki şekilde iletişim kurar:
- Aracıya bağlı hizmet
- Android AccountManager
MSAL ilk olarak aracıya bağlı hizmeti kullanır çünkü bu hizmeti çağırmak herhangi bir Android izni gerektirmez. bağlı hizmete bağlama başarısız olursa, MSAL Android AccountManager API'sini kullanır. MSAL bunu yalnızca uygulamanıza "READ_CONTACTS" izni zaten verilmişse yapar.
"BROKER_BIND_FAILURE" hata koduyla bir MsalClientException alırsanız, iki seçenek vardır:
- Kullanıcıdan Microsoft Authenticator uygulaması ve Intune Şirket Portalı için güç iyileştirmesini devre dışı bırakmasını isteyin.
- Kullanıcıdan
"READ_CONTACTS"iznini vermesini isteyin
Aracı entegrasyonunu doğrulayın
Broker tümleştirmesinin çalıştığı ilk bakışta hemen anlaşılmayabilir, ancak bunu kontrol etmek için aşağıdaki adımları kullanabilirsiniz:
- Android cihazınızda aracıyı kullanarak bir isteği tamamlayın.
- Android cihazınızdaki ayarlarda, kimlik doğrulaması yaptığınız hesaba karşılık gelen yeni oluşturulan bir hesabı arayın. Hesap İş hesabı türünde olmalıdır.
Testi tekrarlamak istiyorsanız hesabı ayarlardan kaldırabilirsiniz.
Sistem tarayıcısı aracılığıyla SSO
Android uygulamaları kimlik doğrulaması kullanıcı deneyimi için , sistem tarayıcısını veya Chrome Özel Sekmelerini kullanma WEBVIEWseçeneğine sahiptir. Uygulama aracılı kimlik doğrulaması kullanmıyorsa, SSO'ya ulaşmak için yerel web görünümü yerine sistem tarayıcısını kullanması gerekir.
Yetkilendirme aracıları
Yetkilendirme aracıları için belirli bir strateji seçmek önemlidir ve uygulamaların özelleştirebileceği ek işlevsellikleri temsil eder. 'WEBVIEW' kullanmanızı öneririz. Diğer yapılandırma değerleri hakkında daha fazla bilgi edinmek için (bkz. Android MSAL yapılandırma dosyasını anlama.
MSAL, bir WEBVIEWveya sistem tarayıcısı kullanarak yetkilendirmeyi destekler. Aşağıdaki görüntü, WEBVIEW kullanıldığında veya sistem tarayıcısı Özel Sekmeler ile ya da Özel Sekmeler olmadan kullanıldığında nasıl göründüğünü gösterir:
SSO etkileri
Uygulama, aracılı kimlik doğrulaması ile uygulamayla tümleştirme yapmadan bir WEBVIEW strateji kullanıyorsa, kullanıcılar cihaz genelinde veya yerel uygulamalar ile web uygulamaları arasında SSO deneyimine sahip olmaz.
Uygulamalar, yetkilendirme için BROWSER öğesini kullanmak üzere MSAL ile entegre edilebilir. WEBVIEW'dan farklı olarak, BROWSER varsayılan sistem tarayıcısıyla aynı çerez deposunu paylaşır; bu sayede web'de veya Özel Sekmeler ile entegre diğer yerel uygulamalarda daha az oturum açılması gerekir.
Uygulama MSAL'yi Microsoft Authenticator, Intune Şirket Portalı veya Windows bağlantısı gibi bir aracıyla kullanıyorsa, kullanıcılar uygulamalardan biriyle etkin oturum açmaları durumunda uygulamalar arasında SSO deneyimine sahip olabilir.
Note
Aracı ile kullanılan MSAL, WebView'dan yararlanır ve MSAL kitaplığını kullanan ve aracı tabanlı kimlik doğrulamasına katılan tüm uygulamalar için SSO sağlar. Aracıdaki SSO durumu, MSAL kullanmayan diğer uygulamalara genişletilmez.
Web Görüntüleyici
Uygulama içi WebView'ı kullanmak için, MSAL'ye geçirilen uygulama yapılandırması JSON'sine aşağıdaki satırı yerleştirin:
"authorization_user_agent" : "WEBVIEW"
Uygulama içi WEBVIEW kullanıldığında, kullanıcı doğrudan uygulamada oturum açar. Belirteçler uygulamanın korumalı alanında tutulur ve uygulamanın çerez deposunun dışında erişilemez. Sonuç olarak, uygulamalar Microsoft Authenticator uygulaması, Intune Şirket Portalı veya Windows bağlantısı ile tümleştirilmediği sürece kullanıcı uygulamalar arasında SSO deneyimine sahip olamaz.
Ancak, WEBVIEW oturum açma kullanıcı arabirimi için genel görünümü özelleştirme özelliği sağlar. Bu özelleştirmeyi yapma hakkında daha fazla bilgi için bkz. Android WebViews .
Tarayıcı
WebVIEW kullanmanızı öneririz, ancak tarayıcı ve özel sekme stratejisi kullanma seçeneği sunuyoruz. Özel yapılandırma dosyasında aşağıdaki JSON yapılandırmasını kullanarak bu stratejiyi açıkça belirtebilirsiniz:
"authorization_user_agent" : "BROWSER"
Cihazın tarayıcısı aracılığıyla SSO deneyimi sağlamak için bu yaklaşımı kullanın. MSAL, diğer yerel uygulamaların veya web uygulamalarının MSAL tarafından ayarlanan kalıcı oturum tanımlama bilgisini kullanarak cihazda SSO'ya ulaşmasını sağlayan paylaşılan bir tanımlama bilgisi jar'ı kullanır.
Tarayıcı seçim sezgiseli
MSAL'nin geniş Android telefon dizisinin her birinde kullanılacak tam tarayıcı paketini belirtmesi mümkün olmadığından, MSAL en iyi cihazlar arası SSO'ları sağlamaya çalışan bir tarayıcı seçimi buluşsal özelliği uygular.
MSAL öncelikle paket yöneticisinden varsayılan tarayıcıyı alır ve test edilmiş bir güvenli tarayıcı listesinde olup olmadığını denetler. Aksi takdirde MSAL, güvenli listeden varsayılan olmayan başka bir tarayıcı başlatmak yerine Webview'ı kullanmaya geri döner. Özel sekmeleri destekleyip desteklemediğinden bağımsız olarak varsayılan tarayıcı seçilir. Tarayıcı Özel Sekmeleri destekliyorsa, MSAL Özel Sekme'yi başlatır. Özel Sekmeler, uygulama WebView içi bir görünüme ve kullanıma daha yakındır ve temel kullanıcı arabirimi özelleştirmesine izin verir. Daha fazla bilgi edinmek için bkz. Android'de Özel Sekmeler .
Cihazda tarayıcı paketleri yoksa MSAL, uygulama içi WebView kullanır. Cihaz varsayılan ayarı değiştirilmezse, SSO deneyiminden emin olmak için her oturum açma için aynı tarayıcı başlatılmalıdır.
Test Edilmiş Tarayıcılar
Aşağıdaki tarayıcılar, yapılandırma dosyasında belirtilene doğru şekilde yeniden yönlendirilip yönlendirilmediğini görmek için "redirect_uri" test edilmiştir:
| Cihaz | Yerleşik Tarayıcı | Krom | Opera | Microsoft Edge | UC Tarayıcısı | Firefox |
|---|---|---|---|---|---|---|
| Nexus 4 (API 17) | Geçmek | Geçmek | geçerli değil | geçerli değil | geçerli değil | geçerli değil |
| Samsung S7 (API 25) | 1'i geç | Geçmek | Geçmek | Geçmek | Başarısız | Geçmek |
| Vivo (API 26) | Geçmek | Geçmek | Geçmek | Geçmek | Geçmek | Başarısız |
| Piksel 2 (API 26) | Geçmek | Geçmek | Geçmek | Geçmek | Başarısız | Geçmek |
| Oppo | Geçmek | geçerli değil2 | geçerli değil | geçerli değil | geçerli değil | geçerli değil |
| OnePlus (API 25) | Geçmek | Geçmek | Geçmek | Geçmek | Başarısız | Geçmek |
| Nexus (API 28) | Geçmek | Geçmek | Geçmek | Geçmek | Başarısız | Geçmek |
| MI | Geçmek | Geçmek | Geçmek | Geçmek | Başarısız | Geçmek |
1Samsung'un yerleşik tarayıcısı Samsung Internet'tir.
2Varsayılan tarayıcı Oppo cihaz ayarı içinde değiştirilemez.
Sonraki Adımlar
Android cihazlar için paylaşılan cihaz modu , birden çok çalışan tarafından kolayca paylaşılabilmesi için bir Android cihazı yapılandırmanıza olanak tanır.
Aracı uygulamaları hakkında daha fazla bilgi için bkz: