Örnek iOS (Swift) uygulamasında kullanıcılarda oturum açma ve korumalı web API'sini çağırma
Bu kılavuzda, kullanıcılarda oturum açmak ve korumalı bir ASP.NET Core web API'sini çağırmak için örnek bir iOS mobil uygulamasını yapılandırma işlemleri gösterilmektedir.
Bu makalede aşağıdaki görevleri yerine getirin:
- Microsoft Entra yönetim merkezine bir uygulama kaydedin.
- Platform yeniden yönlendirme URL'si ekleyin.
- Genel istemci akışlarını etkinleştirin.
- iOS yapılandırma kodu örnek dosyasını, müşteri kiracı ayrıntıları için kendi Microsoft Entra Dış Kimlik kullanacak şekilde güncelleştirin.
- Örnek iOS mobil uygulamasını çalıştırın ve test edin.
Önkoşullar
Dış kiracı. Henüz bir aboneliğiniz yoksa ücretsiz deneme sürümüne kaydolun.
ToDoList.Read gibi en az bir kapsamı (temsilci izinleri) ve bir uygulama rolünü (uygulama izni) kullanıma sunan bir API kaydı. Henüz yapmadıysanız, işlevsel korumalı bir ASP.NET Core web API'sine sahip olmak için örnek bir iOS mobil uygulamasında API çağırma yönergelerini izleyin. Aşağıdaki adımları tamamladığınızdan emin olun:
- Bir web API'si uygulaması kaydedin.
- API kapsamlarını yapılandırın.
- Uygulama rollerini yapılandırma.
- İsteğe bağlı talepleri yapılandırın.
- Örnek web API'sini kopyalayın veya indirin.
- Örnek web API'lerini yapılandırın ve çalıştırın.
Bir uygulamayı kaydetme
Uygulamanızın Microsoft Entra ile kullanıcılarla oturum açmasını sağlamak için Microsoft Entra Dış Kimlik oluşturduğunuz uygulama hakkında bilgi edinilmesi gerekir. Uygulama kaydı, uygulama ile Microsoft Entra arasında bir güven ilişkisi kurar. Bir uygulamayı kaydettiğinizde, Dış Kimlik, kimlik doğrulama istekleri oluştururken uygulamanızı tanımlamak için kullanılan bir değer olan Uygulama (istemci) kimliği olarak bilinen benzersiz bir tanımlayıcı oluşturur.
Aşağıdaki adımlar, uygulamanızı Microsoft Entra yönetim merkezine nasıl kaydedeceğini gösterir:
Microsoft Entra yönetim merkezinde en azından Uygulama Geliştiricisi olarak oturum açın.
Birden çok kiracıya erişiminiz varsa, Dizinler + abonelikler menüsünden dış kiracınıza geçmek için üst menüdeki Ayarlar simgesinikullanın.
Kimlik>Uygulamaları'na> göz atın Uygulama kayıtları.
+ Yeni kayıt'ı seçin.
Görüntülenen Uygulamayı kaydet sayfasında;
- Uygulamanın kullanıcılarına gösterilen anlamlı bir uygulama Adı girin, örneğin ciam-client-app.
- Desteklenen hesap türleri'nin altında Yalnızca bu kuruluş dizinindeki Hesaplar'ı seçin.
Kaydet'i seçin.
Başarılı bir kayıtta uygulamanın Genel Bakış bölmesi görüntülenir. Uygulama kaynak kodunuzda kullanılacak Uygulama (istemci) kimliğini kaydedin.
Platform yeniden yönlendirme URL'si ekleme
Uygulama kaydınıza uygulama türünüzü belirtmek için şu adımları izleyin:
- Yönet'in altında Kimlik Doğrulama'yı seçin.
- Platform yapılandırmaları sayfasında Platform ekle'yi ve ardından iOS / macOS seçeneğini belirleyin.
- Projenizin Paket Kimliğini girin. Örnek kodu indirdiyseniz, bu değer olur
com.microsoft.identitysample.ciam.MSALiOS
. - Yapılandır'ıseçin ve uygulamanızı daha sonra yapılandırırken girebilmeniz için iOS / macOS yapılandırma bölmesinde görünen MSAL Yapılandırmasını kaydedin.
- Bitti'yi seçin.
Genel istemci akışını etkinleştirme
Uygulamanızı genel istemci olarak tanımlamak için şu adımları izleyin:
Yönet'in altında Kimlik Doğrulama'yı seçin.
Gelişmiş ayarlar'ın altında Genel istemci akışlarına izin ver için Evet'i seçin.
Yaptığınız değişiklikleri kaydetmek için Kaydet'i seçin.
Yönetici onayı verme
Uygulama kayıtları sayfasında, oluşturduğunuz uygulamayı (ciam-client-app gibi) seçerek Genel Bakış sayfasını açın.
Yönet'in altında API izinleri'ne tıklayın. Yapılandırılan izinler listesinden, uygulamanıza User.Read izni atanmıştır. Ancak, kiracı bir dış kiracı olduğundan, tüketici kullanıcıların kendileri bu izni onaylayamaz. Yönetici olarak kiracıdaki tüm kullanıcılar adına bu izni onaylamanız gerekir:
- Kiracı adınız> için <Yönetici onayı ver'i ve ardından Evet'i seçin.
- Yenile'yi seçin, ardından her iki kapsam için de Durum altında Kiracı adınız> için <Verildi ifadesinin gösterildiğini doğrulayın.
iOS örnek uygulamasına web API izinleri verme
Hem istemci uygulamanızı hem de web API'nizi kaydettikten ve kapsamlar oluşturarak API'yi kullanıma sunduğunuzda, aşağıdaki adımları izleyerek istemcinin API izinlerini yapılandırabilirsiniz:
Uygulama kayıtları sayfasında, oluşturduğunuz uygulamayı (ciam-client-app gibi) seçerek Genel Bakış sayfasını açın.
Yönet'in altında API izinleri'ne tıklayın.
Yapılandırılan izinler'in altında İzin ekle'yi seçin.
Kuruluşumun kullandığı API'ler sekmesini seçin.
API'ler listesinde ciam-ToDoList-api gibi API'yi seçin.
Temsilci izinleri seçeneğini belirleyin.
İzinler listesinden ToDoList.Read, ToDoList.ReadWrite öğesini seçin (gerekirse arama kutusunu kullanın).
İzin ekle düğmesini seçin.
Bu noktada izinleri doğru atamış olursunuz. Ancak, kiracı bir müşterinin kiracısı olduğundan, tüketici kullanıcıları bu izinlere onay veremez. Bu sorunu çözmek için, yönetici olarak kiracıdaki tüm kullanıcılar adına bu izinleri onaylamanız gerekir:
Kiracı adınız> için <Yönetici onayı ver'i ve ardından Evet'i seçin.
Yenile'yi seçin, ardından Kiracı adınız> için <Verildi seçeneğinin her iki izin için de Durum altında göründüğünü doğrulayın.
Yapılandırılan izinler listesinden ToDoList.Read ve ToDoList.ReadWrite izinlerini birer birer seçin ve daha sonra kullanmak üzere iznin tam URI'sini kopyalayın. Tam izin URI'si veya
api://{clientId}/{ToDoList.ReadWrite}
gibiapi://{clientId}/{ToDoList.Read}
görünür.
Örnek iOS mobil uygulamasını kopyalama
Örnek uygulamayı edinmek için GitHub'dan kopyalayabilir veya .zip dosyası olarak indirebilirsiniz.
Örneği kopyalamak için bir komut istemi açın ve projeyi oluşturmak istediğiniz yere gidin ve aşağıdaki komutu girin:
git clone https://github.com/Azure-Samples/ms-identity-ciam-browser-delegated-ios-sample.git
Örnek iOS mobil uygulamasını yapılandırma
Kimlik doğrulamasını ve web API kaynaklarına erişimi etkinleştirmek için aşağıdaki adımları izleyerek örneği yapılandırın:
Xcode'da kopyaladığınız projeyi açın.
/MSALiOS/Configuration.swift dosyasını açın.
Yer tutucuyu bulun:
Enter_the_Application_Id_Here
ve daha önce kaydettiğiniz uygulamanın Uygulama (istemci) kimliğiyle değiştirin.Enter_the_Redirect_URI_Here
ve daha önce platform yeniden yönlendirme URL'sini eklediğinizde indirdiğiniz Microsoft Authentication Library (MSAL) yapılandırma dosyasındaki kRedirectUri değeriyle değiştirin.Enter_the_Protected_API_Full_URL_Here
ve web API'nizin URL'si ile değiştirin. Enter_the_Protected_API_Full_URL_Here, ASP.NET web API'miz için temel URL'yi (dağıtılan web API'si URL'si) ve uç noktayı (/api/todolist) içermelidir.Enter_the_Protected_API_Scopes_Here
ve iOS örnek uygulamasına web API izinleri verme bölümünde kaydedilen kapsamlarla değiştirin.Enter_the_Tenant_Subdomain_Here
ve bunu Dizin (kiracı) alt etki alanıyla değiştirin. Örneğin, kiracı birincil etki alanınız isecontoso.onmicrosoft.com
kullanıncontoso
. Kiracı alt etki alanınızı bilmiyorsanız kiracınızın ayrıntılarını okumayı öğrenin.
Uygulamayı yapılandırdığınız için çalışmaya hazır.
iOS örnek uygulamasını çalıştırma ve web API'sini çağırma
Uygulamanızı derlemek ve çalıştırmak için şu adımları izleyin:
- Kodunuzu derlemek ve çalıştırmak için Xcode'daki Ürün menüsünde Çalıştır'ı seçin. Başarılı bir derlemeden sonra Xcode örnek uygulamayı Simülatör'de başlatır.
- Erişim belirteci istemek için Belirteci Etkileşimli Olarak Alma'ya tıklayın.
- Daha önce ayarlanmış ASP.NET Core web API'sini çağırmak için API - GET gerçekleştir'i seçin. Web API'sine yapılan başarılı bir çağrı HTTP
200
döndürürken, HTTP403
yetkisiz erişim anlamına gelir.
İlgili içerik
- Yerel kimlik doğrulamasını kullanarak örnek iOS (Swift) mobil uygulamasında kullanıcılarla oturum açın.
- Parola sıfırlamayı etkinleştirin.
- Varsayılan markayı özelleştirin.
- Google ile oturum açmayı yapılandırın.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin