Hızlı Başlangıç: Korumalı web API'lerine erişen .NET konsol uygulaması
Bu hızlı başlangıçta, .NET için Microsoft Authentication Library (MSAL) kullanarak korumalı bir web API'sine kendi kimliği olarak erişmek için örnek bir .NET konsol uygulaması kullanılmaktadır. Uygulama, gizli bir istemci uygulaması olan bir daemon uygulamasıdır ve Microsoft Graph API'sini çağırmak üzere bir erişim belirteci almak için istemci kimlik bilgileri OAuth akışını kullanır.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Henüz bir hesabınız yoksa ücretsiz bir hesap oluşturun.
- .NET 6.0 SDK'sının en düşük gereksinimi
- Visual Studio 2022 veya Visual Studio Code
Uygulama ve kayıt tanımlayıcılarını kaydetme
Kaydı tamamlamak için uygulamaya bir ad verin ve desteklenen hesap türlerini belirtin. Kaydedildikten sonra, uygulamaya Genel Bakış bölmesinde uygulama kaynak kodunda gereken tanımlayıcılar görüntülenir.
Microsoft Entra yönetim merkezinde oturum açın.
Birden çok kiracıya erişiminiz varsa, dizinler + abonelikler menüsünden uygulamayı kaydetmek istediğiniz kiracıya geçmek için üst menüdeki Ayarlar simgesini kullanın.
Kimlik>Uygulamaları'na> göz atın Uygulama kayıtları Yeni kayıt'ı seçin.
Uygulama için identity-client-daemon-app gibi bir Ad girin.
Desteklenen hesap türleri için Yalnızca bu kuruluş dizinindeki Hesaplar'ı seçin. Farklı hesap türleri hakkında bilgi için Bana yardım et seçeneğini belirleyin.
Kaydet'i seçin.
Kayıt tamamlandığında uygulamanın Genel Bakış bölmesi görüntülenir. Uygulama kaynak kodunuzda kullanılacak Dizin (kiracı) Kimliğini, Uygulama (istemci) Kimliğini ve Nesne Kimliğini kaydedin.
Not
Desteklenen hesap türleri, Uygulama tarafından desteklenen hesapları değiştirme konusuna başvurarak değiştirilebilir.
İstemci gizli dizisi oluşturma
- Microsoft Entra yönetim merkezinde Kimlik>Uygulamaları> Uygulama kayıtları'na göz atın.
- Daha önce kaydettiğiniz uygulamayı seçin.
- Uygulamanın Genel Bakış bölmesinde Sertifikalar ve gizli diziler>Yeni istemci gizli dizisi'ni seçin.
- Açıklama alanına gizli dizi için bir açıklama girin.
- Gizli dizi için bir süre sonu seçin.
- Ekle'yi seçin.
- İstemci gizli dizisinin Değerini kaydedin. Değer yalnızca bir kez görüntülenir, bu nedenle kaydettiğinizden emin olun.
Örnek uygulamayı kopyalama veya indirme
Ö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-docs-code-dotnet.git
.zip dosyasını indirin. Adın uzunluğu 260 karakterden az olan bir dosya yoluna ayıklayın.
Projeyi yapılandırma
IDE'nizde, örneği içeren ms-identity-docs-code-dotnet/console-daemon proje klasörünü açın.
Program.cs açın ve dosya içeriğini aşağıdaki kod parçacığıyla değiştirin;
// Full directory URL, in the form of https://login.microsoftonline.com/<tenant_id> Authority = " https://login.microsoftonline.com/Enter_the_tenant_ID_obtained_from_the_Microsoft_Entra_admin_center", // 'Enter the client ID obtained from the Microsoft Entra admin center ClientId = "Enter the client ID obtained from the Microsoft Entra admin center", // Client secret 'Value' (not its ID) from 'Client secrets' in the Microsoft Entra admin center ClientSecret = "Enter the client secret value obtained from the Microsoft Entra admin center", // Client 'Object ID' of app registration in Microsoft Entra admin center - this value is a GUID ClientObjectId = "Enter the client Object ID obtained from the Microsoft Entra admin center"
Authority
- Yetkili, MSAL'nin belirteç isteyebileceği bir dizini gösteren bir URL'dir. Enter_the_tenant_ID değerini daha önce kaydedilen Dizin (kiracı) kimliği değeriyle değiştirin.ClientId
- İstemci olarak da adlandırılan uygulamanın tanımlayıcısı. Tırnak içindeki metni, kayıtlı uygulamanın genel bakış sayfasında daha önce kaydedilmiş olan değerleApplication (client) ID
değiştirin.ClientSecret
- Microsoft Entra yönetim merkezinde uygulama için oluşturulan istemci gizli dizisi. İstemci gizli dizisinin değerini girin.ClientObjectId
- İstemci uygulamasının nesne kimliği. Tırnak içindeki metni, kayıtlı uygulamanın genel bakış sayfasında daha önce kaydedilmiş olan değerleObject ID
değiştirin.
Uygulamayı çalıştırma
Terminalde ms-identity-docs-code-dotnet/console-daemon proje dizinine gidin.
Uygulamayı derlemek ve çalıştırmak için aşağıdaki komutu çalıştırın:
dotnet run
Uygulama çalışır ve aşağıdakine benzer bir yanıt görüntüler (kısalmak için kısaltılır):
{ "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#applications/$entity", "id": "00001111-aaaa-2222-bbbb-3333cccc4444", "deletedDateTime": null, "appId": "00001111-aaaa-2222-bbbb-3333cccc4444", "applicationTemplateId": null, "disabledByMicrosoftStatus": null, "createdDateTime": "2021-01-17T15:30:55Z", "displayName": "identity-dotnet-console-app", "description": null, "groupMembershipClaims": null, ... }
İlgili içerik
- Öğretici: Microsoft kimlik platformu ile uygulama kaydetme serisiyle bu ASP.NET web uygulamasını oluşturarak öğrenin.
- Hızlı Başlangıç: Microsoft kimlik platformu ile ASP.NET Core web API'sini koruma.
- Hızlı Başlangıç: Azure Uygulaması Hizmetine ASP.NET web uygulaması dağıtma