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

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.

  1. Microsoft Entra yönetim merkezinde oturum açın.

  2. 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.

  3. Kimlik>Uygulamaları'na> göz atın Uygulama kayıtları Yeni kayıt'ı seçin.

  4. Uygulama için identity-client-daemon-app gibi bir Ad girin.

  5. 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.

  6. Kaydet'i seçin.

    Microsoft Entra yönetim merkezinde bir ad girmeyi ve hesap türünü seçmeyi gösteren ekran görüntüsü.

  7. 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.

    Microsoft Entra yönetim merkezindeki genel bakış sayfasında tanımlayıcı değerlerini gösteren ekran görüntüsü.

    Not

    Desteklenen hesap türleri, Uygulama tarafından desteklenen hesapları değiştirme konusuna başvurarak değiştirilebilir.

İstemci gizli dizisi oluşturma

  1. Microsoft Entra yönetim merkezinde Kimlik>Uygulamaları> Uygulama kayıtları'na göz atın.
  2. Daha önce kaydettiğiniz uygulamayı seçin.
  3. Uygulamanın Genel Bakış bölmesinde Sertifikalar ve gizli diziler>Yeni istemci gizli dizisi'ni seçin.
  4. Açıklama alanına gizli dizi için bir açıklama girin.
  5. Gizli dizi için bir süre sonu seçin.
  6. Ekle'yi seçin.
  7. İ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

  1. IDE'nizde, örneği içeren ms-identity-docs-code-dotnet/console-daemon proje klasörünü açın.

  2. 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ğerle Application (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ğerle Object ID değiştirin.

Uygulamayı çalıştırma

  1. Terminalde ms-identity-docs-code-dotnet/console-daemon proje dizinine gidin.

  2. Uygulamayı derlemek ve çalıştırmak için aşağıdaki komutu çalıştırın:

    dotnet run
    
  3. 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,
    ...
    }