Share via


Hızlı Başlangıç: Kullanıcıları oturum açma ve ASP.NET Core web uygulamasından Microsoft Graph API'sini çağırma

Bu hızlı başlangıçta, yetkilendirme kodu akışını kullanarak kullanıcıların nasıl oturum açacağınızı ve Microsoft Graph API'sini nasıl çağıracağınızı göstermek için örnek bir ASP.NET Core web uygulaması kullanılmaktadır. Örnek, kimlik doğrulamasını işlemek için .NET için Microsoft Kimlik Doğrulama Kitaplığı'nı ve Microsoft Identity Web'i 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-web-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 ve Uygulama (istemci) 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.

Platform yeniden yönlendirme URI'sini ekleme

Uygulama kaydınıza uygulama türünüzü belirtmek için şu adımları izleyin:

  1. Yönet'in altında Kimlik Doğrulama'yı seçin.
  2. Platform yapılandırmaları sayfasında Platform ekle'yi ve ardından Web seçeneğini belirleyin.
  3. Yeniden Yönlendirme URI'leri için girinhttps://localhost:5001/signin-oidc.
  4. Ön kanal oturumu kapatma URL'si altında oturumu kapatma için girinhttps://localhost:5001/signout-callback-oidc.
  5. Değişikliklerinizi kaydetmek için Yapılandır'ı seçin.

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

Otomatik olarak imzalanan sertifika oluşturma ve karşıya yükleme

  1. Proje dizininde otomatik olarak imzalanan bir sertifika oluşturmak için terminalinizi kullanarak aşağıdaki komutları kullanın.

    cd ms-identity-docs-code-dotnet\web-app-aspnet\
    dotnet dev-certs https -ep ./certificate.crt --trust
    
  2. Microsoft Entra yönetim merkezine dönün ve Yönet'in altında Sertifikalar ve gizli diziler>Sertifikayı karşıya yükle'yi seçin.

  3. Sertifikalar (0) sekmesini ve ardından Sertifikayı karşıya yükle'yi seçin.

  4. Sertifikayı karşıya yükle bölmesi görüntülenir. Önceki adımda oluşturduğunuz sertifika dosyasına gitmek için simgesini kullanın ve Aç'ı seçin.

  5. Sertifika için bir açıklama girin(örneğin, aspnet-web-app sertifikası) ve Ekle'yi seçin.

  6. Sonraki adımda kullanmak üzere Parmak İzi değerini kaydedin.

Projeyi yapılandırma

  1. IDE'nizde, örneği içeren ms-identity-docs-code-dotnet\web-app-aspnet proje klasörünü açın.

  2. appsettings.json açın ve dosya içeriğini aşağıdaki kod parçacığıyla değiştirin;

    {
    "AzureAd": {
      "Instance": "https://login.microsoftonline.com/",
      "TenantId": "Enter the tenant ID obtained from the Microsoft Entra admin center",
      "ClientId": "Enter the client ID obtained from the Microsoft Entra admin center",
      "ClientCertificates": [
        {
          "SourceType": "StoreWithThumbprint",
          "CertificateStorePath": "CurrentUser/My",
          "CertificateThumbprint": "Enter the certificate thumbprint obtained the Microsoft Entra admin center"
        }   
      ],
      "CallbackPath": "/signin-oidc"
    },
      "DownstreamApi": {
        "BaseUrl": "https://graph.microsoft.com/v1.0/",
        "RelativePath": "me",
        "Scopes": [ 
          "user.read" 
        ]
      },
      "Logging": {
        "LogLevel": {
          "Default": "Information",
          "Microsoft.AspNetCore": "Warning"
        }
      },
      "AllowedHosts": "*"
    }
    
    • TenantId - Uygulamanın kayıtlı olduğu kiracının tanımlayıcısı. Tırnak içindeki metni, kayıtlı uygulamanın genel bakış sayfasında daha önce kaydedilen metinle Directory (tenant) ID 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.
    • ClientCertificates - Uygulamada kimlik doğrulaması için otomatik olarak imzalanan bir sertifika kullanılır. metnini CertificateThumbprint , daha önce kaydedilmiş sertifikanın parmak iziyle değiştirin.

Uygulamayı çalıştırma ve oturum açma

  1. Proje dizininizde terminali kullanarak aşağıdaki komutu girin;

    dotnet run
    
  2. https Terminalde görünen URL'yi (örneğin, https://localhost:5001) kopyalayın ve bir tarayıcıya yapıştırın. Özel veya gizli bir tarayıcı oturumu kullanmanızı öneririz.

  3. Adımları izleyin ve Microsoft hesabınızla oturum açmak için gerekli ayrıntıları girin. Size tek seferlik bir geçiş kodu gönderebilmek için bir e-posta adresi sağlamanız istenir. İstendiğinde kodu girin.

  4. Uygulama, erişim verdiğiniz verilere erişimi korumak ve oturum açıp profilinizi okumak için izin istemektedir. Kabul Et’i seçin.

  5. Uygulamada oturum açtığınızı ve Profil ayrıntılarınıza Microsoft Graph API'sinden eriştiğnizi gösteren aşağıdaki ekran görüntüsü görüntülenir.

    API çağrısının sonuçlarını gösteren ekran görüntüsü.

Uygulamadan oturumu kapatma

  1. Sayfanın sağ üst köşesindeki Oturumu kapat bağlantısını bulun ve seçin.
  2. Oturumu kapatmak için bir hesap seçmeniz istenir. Oturum açmak için kullandığınız hesabı seçin.
  3. Oturumunuz kapatıldığını belirten bir ileti görüntülenir. Artık tarayıcı penceresini kapatabilirsiniz.