Microsoft Authenticator kullanan iOS uygulamalarını ADAL.NET'dan MSAL.NET'a geçirme
.NET için Azure Active Directory Kimlik Doğrulama Kitaplığı 'nı (ADAL.NET) ve iOS aracısını kullanıyorsunuz. Şimdi 4.3 sürümünden itibaren iOS'ta aracıyı destekleyen .NET için Microsoft Kimlik Doğrulama Kitaplığı'na (MSAL.NET) geçme zamanı geldi.
Nereden başlamalısınız? Bu makale, Xamarin iOS uygulamanızı ADAL'dan MSAL'ye geçirmenize yardımcı olur.
Önkoşullar
Bu makalede, iOS aracısı ile tümleştirilmiş bir Xamarin iOS uygulamanız olduğu varsayılır. Aksi takdirde doğrudan MSAL.NET geçin ve aracı uygulamasını orada başlatın. yeni bir uygulamayla MSAL.NET'da iOS aracısını çağırma hakkında bilgi için bu belgelere bakın.
Background
Aracılar nedir?
Aracılar, Android ve iOS üzerinde Microsoft tarafından sağlanan uygulamalardır. (Bkz.iOS ve Android'de Microsoft Authenticator uygulaması ve Android'de Intune Şirket Portalı uygulaması.)
Şu olanaklara olanak tanır:
- Çoklu oturum açma.
- Bazı Koşullu Erişim ilkeleri için gerekli olan cihaz kimliği. Daha fazla bilgi için bkz . Cihaz yönetimi.
- Bazı kurumsal senaryolarda da gerekli olan uygulama tanımlama doğrulaması. Daha fazla bilgi için bkz . Intune mobil uygulama yönetimi (MAM).
ADAL'dan MSAL'ye geçiş
1. Adım: Aracıyı etkinleştirme
Geçerli ADAL kodu: | MSAL karşılığı: |
ADAL.NET'de aracı desteği kimlik doğrulaması bağlamı temelinde etkinleştirilmiştir. Varsayılan olarak devre dışıdır. Bir
Ayrıca, platforma özgü kodda, bu örnekte, iOS için sayfa oluşturucuda
Ardından, alma belirteci çağrısına parametreleri ekleyin:
|
MSAL.NET aracı desteği PublicClientApplication temelinde etkinleştirilir. Varsayılan olarak devre dışıdır. Etkinleştirmek için
Alma belirteci çağrısında:
|
2. Adım: UIViewController() ayarlama
ADAL.NET'de, bir UIViewController öğesinin PlatformParameters
bir parçası olarak geçirdiniz. (1. Adım'daki örne bakın.) MSAL.NET'da geliştiricilere daha fazla esneklik sağlamak için bir nesne penceresi kullanılır, ancak normal iOS kullanımında gerekli değildir. Aracıyı kullanmak için, aracıdan yanıt göndermek ve almak için nesne penceresini ayarlayın.
Geçerli ADAL kodu: | MSAL karşılığı: |
bir UIViewController geçirildi
|
MSAL.NET'da, iOS için nesne penceresini ayarlamak için iki şey yaparsınız:
Örneğin:
Alma belirteci çağrısında:
|
3. Adım: AppDelegate'i geri çağırmayı işleyecek şekilde güncelleştirme
Hem ADAL hem de MSAL aracıyı çağırır ve aracı da sınıfın yöntemi aracılığıyla OpenUrl
uygulamanıza geri çağrır AppDelegate
. Daha fazla bilgi için bu belgelere bakın.
Burada ADAL.NET ile MSAL.NET arasında değişiklik yoktur.
4. Adım: URL düzenini kaydetme
ADAL.NET ve MSAL.NET aracıyı çağırmak ve aracı yanıtını uygulamaya geri döndürmek için URL'leri kullanın. URL düzenini uygulamanızın Info.plist
dosyasına aşağıdaki gibi kaydedin:
Geçerli ADAL kodu: | MSAL karşılığı: |
URL düzeni uygulamanız için benzersizdir. |
ön ek olarak, ardından Örneğin:
Not Bu URL düzeni, aracıdan yanıt aldığında uygulamayı benzersiz olarak tanımlamak için kullanılan yeniden yönlendirme URI'sinin bir parçası haline gelir. |
5. Adım: Aracı tanımlayıcısını LSApplicationQueriesSchemes bölümüne ekleme
ADAL.NET ve MSAL.NET her ikisi de aracının cihazda yüklü olup olmadığını denetlemek için kullanır -canOpenURL:
. iOS aracısı için doğru tanımlayıcıyı info.plist dosyasının LSApplicationQueriesSchemes bölümüne aşağıdaki gibi ekleyin:
Geçerli ADAL kodu: | MSAL karşılığı: |
Kullanır
|
Kullanır
|
6. Adım: Azure portalında yeniden yönlendirme URI'nizi kaydetme
hem ADAL.NET hem de MSAL.NET, aracıyı hedeflediğinde yeniden yönlendirme URI'sine ek bir gereksinim ekler. Azure portalında yeniden yönlendirme URI'sini uygulamanıza kaydedin.
Geçerli ADAL kodu: | MSAL karşılığı: |
Örnek:
|
Örnek:
|
Azure portalında yeniden yönlendirme URI'sini kaydetme hakkında daha fazla bilgi için bkz . 7. Adım: Uygulama kaydınıza yeniden yönlendirme URI'sini ekleme.
7. Adım: Entitlements.plist dosyasını ayarlama
Entitlements.plist dosyasında anahtarlık erişimini etkinleştirin:
<key>keychain-access-groups</key>
<array>
<string>$(AppIdentifierPrefix)com.microsoft.adalcache</string>
</array>
Anahtarlık erişimini etkinleştirme hakkında daha fazla bilgi için bkz . Anahtarlık erişimini etkinleştirme.
Sonraki adımlar
MSAL.NET ile Xamarin iOS'a özgü önemli noktalar hakkında bilgi edinin.