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.
Şunlar için geçerlidir: İş gücü kiracıları
Dış kiracılar (daha fazla bilgi edinin)
Bu hızlı başlangıçta, Microsoft kimlik platformunu kullanarak bir ASP.NET web API'sini nasıl koruyacağınızı göstermek için örnek bir web uygulaması kullanacaksınız. Örnek, kimlik doğrulaması ve yetkilendirmeyi işlemek için Microsoft Kimlik Doğrulama Kitaplığı'nı (MSAL) kullanır.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Yeni bir uygulamayı Microsoft Entra yönetim merkezine kaydedin ve uygulamaya Genel Bakış sayfasından tanımlayıcılarını kaydedin. Daha fazla bilgi için bkz. Bir uygulama kaydetme.
- Adı: NewWebAPI1
- Desteklenen hesap türleri: Yalnızca bu kuruluş dizinindeki hesaplar (Tek kiracı)
API'yi kullanıma sunma
API kaydedildikten sonra, API'nin istemci uygulamalarına sunduğu kapsamları tanımlayarak api'nin iznini yapılandırabilirsiniz. İstemci uygulamaları, korumalı web API'sine istekleriyle birlikte bir erişim belirteci geçirerek işlemleri gerçekleştirmek için izin istemektedir. Web API'si daha sonra istenen işlemi yalnızca aldığı erişim belirteci gerekli kapsamları içeriyorsa gerçekleştirir.
Yönet'ialtında Api'yi kullanıma sunma>Kapsam ekleöğesini seçin.
api://{clientId}
devam et'i seçerek önerilen Uygulama Kimliği URI'sini () kabul edin ve ardından aşağıdaki bilgileri girin:-
Kapsam adıiçin
access_as_user
girin. - Kim onaylayabilir? için Yöneticiler ve kullanıcılar seçeneğinin belirlendiğinden emin olun.
-
Yönetici onayı görünen adı kutusuna
Access TodoListService as a user
girin. -
Yönetici onayı açıklaması kutusuna yazın
Accesses the TodoListService web API as a user
. -
Kullanıcı onayı görünen adı kutusuna
Access TodoListService as a user
yazın. -
Kullanıcı onayı açıklaması kutusuna girin
Accesses the TodoListService web API as a user
. - Durumiçin etkintutunuz.
-
Kapsam adıiçin
Kapsam ekle'yi seçin.
Örnek uygulamayı kopyalama veya indirme
Örnek uygulamayı edinmek için GitHub'dan kopyalayabilir veya .zip dosyası olarak indirebilirsiniz.
git clone https://github.com/AzureADQuickStarts/AppModelv2-NativeClient-DotNet.git
Tavsiye
Windows'ta yol uzunluğu sınırlamalarından kaynaklanan hataları önlemek için, arşivi ayıklamanızı veya depoyu sürücünüzün köküne yakın bir dizine kopyalamanızı öneririz.
Örnek uygulamayı yapılandırma
Kod örneğini kayıtlı web API'sine uyacak şekilde yapılandırın.
Çözümü Visual Studio'da açın ve ardından TodoListService projesinin kökü altındaki appsettings.json dosyasını açın.
Enter_the_Application_Id_here
değerini hem hem deClientID
özelliklerindeAudience
portalına kaydettiğiniz uygulamadan İstemci Kimliği (Uygulama Kimliği) değeriyle değiştirin.
Yeni kapsamı app.config dosyasına ekle
Yeni kapsamı TodoListClient app.config dosyasına eklemek için şu adımları izleyin:
TodoListClient proje kök klasöründe app.config dosyasını açın.
TodoListService projeniz için kaydettiğiniz uygulamadan Uygulama Kimliğini
TodoListServiceScope
parametresine yapıştırın ve{Enter the Application ID of your TodoListService from the app registration portal}
dizesini değiştirin.
Uyarı
Uygulama Kimliği'nin şu biçimi kullandığından emin olun: api://{TodoListService-Application-ID}/access_as_user
(burada {TodoListService-Application-ID}
TodoListService uygulamanızın Uygulama Kimliğini temsil eden GUID'dir).
Web uygulamasını kaydetme (TodoListClient)
TodoListClient uygulamanızı Microsoft Entra yönetim merkezindeki Uygulama kayıtlarına kaydedin ve ardından Kodu TodoListClient projesinde yapılandırın. İstemci ve sunucu aynı uygulama olarak kabul edilirse, 2. adımda kaydedilen uygulamayı yeniden kullanabilirsiniz. Kullanıcıların kişisel bir Microsoft hesabıyla oturum açmasını istiyorsanız aynı uygulamayı kullanın.
Uygulamayı kaydetme
TodoListClient uygulamasını kaydetmek için şu adımları izleyin:
En az bir bulut uygulaması yöneticisi olarak Microsoft Entra yönetim merkezinde oturum açın.
Entra ID>Uygulama kayıtları'na gidin ve Yeni kayıt'ı seçin.
Yeni kayıtseçin.
Uygulama kaydetme sayfası açıldığında, uygulamanızın kayıt bilgilerini girin:
- Adı bölümünde, uygulamanın kullanıcılarına görüntülenecek anlamlı bir uygulama adı girin (örneğin, NativeClient-DotNet-TodoListClient).
- Desteklenen hesap türleriiçin, herhangi bir kuruluş dizinindeki hesapları seçin.
- Uygulamayı kaydetmek için Kaydet'i seçin.
Uyarı
TodoListClient proje app.config dosyasında, varsayılan
ida:Tenant
değericommon
olarak ayarlanır. Olası değerler şunlardır:-
common
: bir iş veya okul hesabı ya da kişisel bir Microsoft hesabı kullanarak oturum açabilirsiniz (önceki bir adımda herhangi bir kuruluş dizininde Hesaplar'ı seçtiğinizden). -
organizations
: İş veya okul hesabı kullanarak oturum açabilirsiniz. -
consumers
: Yalnızca bir Microsoft kişisel hesabı kullanarak oturum açabilirsiniz.
Uygulama Genel Bakış sayfasında Kimlik Doğrulaması'ni seçin ve ardından platform eklemek için şu adımları tamamlayın:
- Platform yapılandırmalarıaltında Platform ekle düğmesini seçin.
- Mobil ve masaüstü uygulamalarıiçin Mobil ve masaüstü uygulamalarıöğesini seçin.
-
Yönlendirme URI'leriiçin
https://login.microsoftonline.com/common/oauth2/nativeclient
onay kutusunu seçin. - 'i seçin ve'i yapılandırın.
API izinlerini seçin ve izin eklemek için şu adımları tamamlayın:
- İzin ekleyin düğmesini seçin.
- API'lerim sekmesini seçin.
- API'ler listesinde AppModelv2-NativeClient-DotNet-TodoListService API veya web API'sine girdiğiniz adı seçin.
- Henüz seçili değilse access_as_user izin onay kutusunu seçin. Gerekirse Arama kutusunu kullanın.
- İzin ekle düğmesini seçin.
Projenizi yapılandırma
Uygulama Kimliğini app.config dosyasına ekleyerek TodoListClient projenizi yapılandırın.
Uygulama kayıtları portalının Genel Bakış sayfasında, Uygulama (istemci) kimliğinin değerini kopyalayın.
TodoListClient proje kök klasöründen app.config dosyasını açın ve uygulama kimliği değerini
ida:ClientId
parametresine yapıştırın.
Örnek uygulamayı çalıştırma
Her iki projenin de başlatılmasını sağlayın. Visual Studio kullanıcıları için;
Visual Studio çözümüne sağ tıklayın ve Özellikler'ni seçin
Ortak Özellikler'deBaşlangıç Projesi'ni ve ardından Birden çok başlangıç projesi'ni seçin.
Her iki proje için eylem olarak Başlangıç'ı seçin
TodoListService hizmetinin önce yukarı oku kullanarak listedeki ilk konuma taşıyarak başlatıldığından emin olun.
TodoListClient projenizi çalıştırmak için oturum açın.
Projeleri başlatmak için F5 tuşuna basın. Hizmet sayfası ve masaüstü uygulaması açılır.
TodoListClient'da, sağ üstteki oturum aç'ı seçin ve ardından uygulamanızı kaydetmek için kullandığınız kimlik bilgileriyle oturum açın veya aynı dizinde bir kullanıcı olarak oturum açın.
İlk kez oturum açıyorsanız TodoListService web API'sini onaylamanız istenebilir.
TodoListService web API'sine erişmenize ve Yapılacaklar listesini değiştirmenize yardımcı olmak için, oturum açma işlemi access_as_user kapsamına bir erişim belirteci de ister.
İstemci uygulamanızı önceden yetkilendirme
İstemci uygulamasının web API'nize erişmesi için önceden yetki vererek diğer dizinlerden kullanıcıların web API'nize erişmesine izin vekleyebilirsiniz. Bunu yapmak için istemci uygulamasındaki Uygulama Kimliği'ni web API'niz için önceden doğrulanmış uygulamalar listesine eklersiniz. Önceden yetkilendirilmiş bir istemci ekleyerek, kullanıcıların onay vermek zorunda kalmadan web API'nize erişmesine izin vermiş olacaksınız.
- Uygulama kayıtları portalında TodoListService uygulamanızın özelliklerini açın.
- API'yi kullanıma sunma bölümünde, Yetkili istemci uygulamalarıaltında, İstemci uygulaması ekleöğesini seçin.
- İstemci Kimliği kutusuna TodoListClient uygulamasının Uygulama Kimliğini yapıştırın.
-
Yetkili kapsamlar bölümünde
api://<Application ID>/access_as_user
web API'sinin kapsamını seçin. - Uygulama ekle'yi seçin.
Projenizi çalıştırma
- Projenizi çalıştırmak için F5 basın. TodoListClient uygulamanız açılır.
- Sağ üst oturum aç'ı seçin ve ardından live.com veya hotmail.com hesabı ya da iş veya okul hesabı gibi kişisel bir Microsoft hesabı kullanarak oturum açın.
İsteğe bağlı: Oturum açma erişimini belirli kullanıcılarla sınırla
Varsayılan olarak, outlook.com veya live.com hesapları gibi tüm kişisel hesaplar ya da Microsoft Entra Id ile tümleştirilen kuruluşların iş veya okul hesapları belirteç isteyebilir ve web API'nize erişebilir.
TenantId
dosyasındaki özelliğini değiştirerek uygulamanızda kimlerin oturum açabileceğini belirtmek için.
Sonraki adımlar
Microsoft kimlik platformuyla ASP.NET Core web API'sini korumayı öğrenin.