Mulai cepat: Memasukkan pengguna dan memanggil Microsoft Graph API dari aplikasi web ASP.NET Core

Mulai cepat ini menggunakan sampel ASP.NET aplikasi web Core untuk menunjukkan kepada Anda cara memasukkan pengguna dengan menggunakan alur kode otorisasi dan memanggil Microsoft Graph API. Sampel menggunakan Microsoft Authentication Library untuk .NET dan Microsoft Identity Web untuk menangani autentikasi.

Prasyarat

Mendaftarkan pengidentifikasi aplikasi dan rekaman

Untuk menyelesaikan pendaftaran, beri nama aplikasi dan tentukan jenis akun yang didukung. Setelah terdaftar, panel Gambaran Umum aplikasi menampilkan pengidentifikasi yang diperlukan dalam kode sumber aplikasi.

  1. Masuk ke Pusat Admin Microsoft Entra.

  2. Jika Anda memiliki akses ke beberapa penyewa, gunakan ikon Pengaturan di menu atas untuk beralih ke penyewa tempat Anda ingin mendaftarkan aplikasi dari menu Direktori + langganan.

  3. Telusuri ke Aplikasi> Identitas>Pendaftaran aplikasi, pilih Pendaftaran baru.

  4. Masukkan Nama untuk aplikasi, seperti identity-client-web-app.

  5. Untuk Jenis akun yang didukung, pilih Hanya akun dalam direktori organisasi ini. Untuk informasi tentang jenis akun yang berbeda, pilih opsi Bantu saya memilih .

  6. Pilih Daftarkan.

    Cuplikan layar yang memperlihatkan cara memasukkan nama dan memilih jenis akun di pusat admin Microsoft Entra.

  7. Panel Gambaran Umum aplikasi ditampilkan saat pendaftaran selesai. Rekam ID Direktori (penyewa) dan ID Aplikasi (klien) yang akan digunakan dalam kode sumber aplikasi Anda.

    Cuplikan layar yang memperlihatkan nilai pengidentifikasi pada halaman gambaran umum di pusat admin Microsoft Entra.

    Catatan

    Jenis akun yang didukung dapat diubah dengan merujuk ke Ubah akun yang didukung oleh aplikasi.

Menambahkan URI pengalihan platform

Untuk menentukan jenis aplikasi ke pendaftaran aplikasi Anda, ikuti langkah-langkah berikut:

  1. Di bagian Kelola, pilih Autentikasi.
  2. Pada halaman Konfigurasi platform , pilih Tambahkan platform, lalu pilih opsi Web .
  3. Untuk URI Pengalihan masukkan https://localhost:5001/signin-oidc.
  4. Di bawah URL keluar saluran depan, masukkan https://localhost:5001/signout-callback-oidc untuk keluar.
  5. Pilih Konfigurasikan untuk menyimpan perubahan Anda.

Mengkloning atau mengunduh aplikasi sampel

Untuk mendapatkan aplikasi sampel, Anda dapat mengkloningnya dari GitHub atau mengunduhnya sebagai file .zip .

  • Untuk mengkloning sampel, buka prompt perintah dan navigasi ke tempat Anda ingin membuat proyek, dan masukkan perintah berikut:

    git clone https://github.com/Azure-Samples/ms-identity-docs-code-dotnet.git
    
  • Unduh file .zip. Ekstrak ke jalur file di mana panjang nama kurang dari 260 karakter.

Membuat dan mengunggah sertifikat yang ditandatangani sendiri

  1. Dengan menggunakan terminal Anda, gunakan perintah berikut untuk menavigasi untuk membuat sertifikat yang ditandatangani sendiri di direktori proyek.

    cd ms-identity-docs-code-dotnet\web-app-aspnet\
    dotnet dev-certs https -ep ./certificate.crt --trust
    
  2. Kembali ke pusat admin Microsoft Entra, dan di bawah Kelola, pilih Sertifikat & rahasia>Unggah sertifikat.

  3. Pilih tab Sertifikat (0), lalu pilih Unggah sertifikat.

  4. Panel Unggah sertifikat muncul. Gunakan ikon untuk menavigasi ke file sertifikat yang Anda buat di langkah sebelumnya, dan pilih Buka.

  5. Masukkan deskripsi untuk sertifikat, misalnya Sertifikat untuk aspnet-web-app, dan pilih Tambahkan.

  6. Rekam nilai Thumbprint untuk digunakan di langkah berikutnya.

Mengonfigurasi proyek

  1. Di IDE Anda, buka folder proyek, ms-identity-docs-code-dotnet\web-app-aspnet, yang berisi sampel.

  2. Buka appsettings.json dan ganti konten file dengan cuplikan berikut;

    {
    "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 - Pengidentifikasi penyewa tempat aplikasi terdaftar. Ganti teks dalam tanda kutip dengan Directory (tenant) ID yang direkam sebelumnya dari halaman gambaran umum aplikasi terdaftar.
    • ClientId - Pengidentifikasi aplikasi, juga disebut sebagai klien. Ganti teks dalam tanda kutip dengan Application (client) ID nilai yang direkam sebelumnya dari halaman gambaran umum aplikasi terdaftar.
    • ClientCertificates - Sertifikat yang ditandatangani sendiri digunakan untuk autentikasi dalam aplikasi. Ganti teks CertificateThumbprint dengan thumbprint sertifikat yang sebelumnya direkam.

Jalankan aplikasi dan masuk

  1. Di direktori proyek Anda, gunakan terminal untuk memasukkan perintah berikut;

    dotnet run
    
  2. https Salin URL yang muncul di terminal, misalnya, https://localhost:5001, dan tempelkan ke browser. Sebaiknya gunakan sesi browser privat atau penyamaran.

  3. Ikuti langkah-langkah dan masukkan detail yang diperlukan untuk masuk dengan akun Microsoft Anda. Anda diminta untuk memberikan alamat email sehingga kode akses satu kali dapat dikirimkan kepada Anda. Masukkan kode saat diminta.

  4. Aplikasi meminta izin untuk mempertahankan akses ke data yang telah Anda akses, dan untuk memasukkan Anda dan membaca profil Anda. Pilih Terima.

  5. Cuplikan layar berikut muncul, menunjukkan bahwa Anda telah masuk ke aplikasi dan telah mengakses detail profil Anda dari Microsoft Graph API.

    Cuplikan layar yang menggambarkan hasil panggilan API.

Keluar dari aplikasi

  1. Temukan tautan Keluar di sudut kanan atas halaman, dan pilih.
  2. Anda diminta untuk memilih akun untuk keluar. Pilih akun yang Anda gunakan untuk masuk.
  3. Pesan muncul yang menunjukkan bahwa Anda keluar. Anda sekarang dapat menutup jendela browser.