Mulai cepat: Menambahkan perincian masuk dengan Microsoft ke aplikasi web ASP.NET Core

Selamat Datang! Ini mungkin bukan halaman yang Anda inginkan. Sementara kami bekerja memperbaikinya, tautan ini akan membawa Anda ke artikel yang tepat:

Mulai cepat: Menambahkan perincian masuk dengan Microsoft ke aplikasi web ASP.NET Core

Kami mohon maaf atas ketidaknyamanan ini dan menghargai kesabaran Anda selama kami menyelesaikan masalah ini.

Dalam mulai cepat ini, Anda mengunduh dan menjalankan sampel kode yang menunjukkan bagaimana aplikasi web ASP.NET Core dapat memasukkan pengguna dari organisasi Microsoft Entra mana pun.

Langkah 1: Konfigurasikan aplikasi di portal Microsoft Azure

Agar sampel kode dalam mulai cepat ini berfungsi:

  • Untuk URI Pengalihan, masukkan https://localhost:44321/ dan https://localhost:44321/signin-oidc.
  • Untuk URL keluar saluran depan, masukkan https://localhost:44321/signout-oidc.

Titik akhir otorisasi akan mengeluarkan token ID permintaan.

Already configured Aplikasi Anda dikonfigurasi dengan atribut ini.

Langkah 2: Unduh ASP.NET Core

Jalankan proyek.

Tip

Untuk menghindari kesalahan yang disebabkan oleh keterbatasan panjang jalur di Windows, kami sarankan mengekstrak arsip atau mengkloning repositori ke direktori di dekat akar drive Anda.

Langkah 3: Aplikasi Anda dikonfigurasi dan siap dijalankan

Kami telah mengonfigurasi proyek dengan nilai properti aplikasi, dan siap dijalankan.

Catatan

Enter_the_Supported_Account_Info_Here

Informasi selengkapnya

Bagian ini memberikan gambaran umum tentang kode yang diperlukan untuk memasukkan pengguna. Gambaran umum ini dapat berguna untuk memahami cara kerja kode, apa argumen utamanya, dan cara menambahkan rincian masuk ke aplikasi Core ASP.NET yang ada.

Cara kerja sampel

Diagram of the interaction between the web browser, the web app, and the Microsoft identity platform in the sample app.

Kelas permulaan

Middleware Microsoft.AspNetCore.Authentication menggunakan kelas Startup yang dijalankan saat proses hosting dimulai:

public void ConfigureServices(IServiceCollection services)
{
    services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
        .AddMicrosoftIdentityWebApp(Configuration.GetSection("AzureAd"));

    services.AddControllersWithViews(options =>
    {
        var policy = new AuthorizationPolicyBuilder()
            .RequireAuthenticatedUser()
            .Build();
        options.Filters.Add(new AuthorizeFilter(policy));
    });
   services.AddRazorPages()
        .AddMicrosoftIdentityUI();
}

Metode AddAuthentication() ini mengonfigurasi layanan untuk menambahkan autentikasi berbasis cookie. Autentikasi ini digunakan dalam skenario browser dan untuk mengatur tantangan ke OpenID Connect.

Baris yang berisi .AddMicrosoftIdentityWebApp menambahkan autentikasi platform identitas Microsoft ke aplikasi Anda. Aplikasi kemudian dikonfigurasi untuk memasukkan pengguna berdasarkan informasi berikut di AzureAD bagian file konfigurasi appsettings.json:

Kunci appsettings.json Deskripsi
ClientId ID aplikasi (klien) aplikasi yang terdaftar di portal Microsoft Azure.
Instance Titik akhir layanan token keamanan (STS) bagi pengguna untuk mengotentikasi. Nilai ini biasanya https://login.microsoftonline.com/, menunjukkan cloud publik Azure.
TenantId Nama penyewa atau ID penyewa (GUID), atau common untuk memasukkan pengguna dengan akun kantor atau sekolah atau akun pribadi Microsoft.

Configure()Metode ini berisi dua metode penting, app.UseAuthentication() dan app.UseAuthorization(), yang memungkinkan fungsionalitas bernama mereka. Juga dalam metode Configure() ini, Anda harus mendaftarkan rute Web Identitas Microsoft dengan setidaknya satu panggilan ke endpoints.MapControllerRoute() atau panggilan ke endpoints.MapControllers():

app.UseAuthentication();
app.UseAuthorization();

app.UseEndpoints(endpoints =>
{
    endpoints.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=Index}/{id?}");
    endpoints.MapRazorPages();
});

Atribut untuk melindungi pengontrol atau metode

Anda dapat melindungi pengontrol atau metode pengontrol menggunakan atribut [Authorize]. Atribut ini membatasi akses ke pengontrol atau metode dengan hanya mengizinkan pengguna terautentikasi. Tantangan autentikasi kemudian dapat mulai mengakses pengontrol jika pengguna tidak diautentikasi.

Bantuan dan dukungan

Jika Anda memerlukan bantuan, ingin melaporkan masalah, atau ingin mempelajari opsi dukungan, lihat Bantuan dan dukungan bagi pengembang.

Langkah berikutnya

Repo GitHub yang berisi tutorial ASP.NET Core ini mencakup instruksi dan lebih banyak sampel kode yang menunjukkan kepada Anda cara:

  • Menambahkan autentikasi ke aplikasi web ASP.NET Core baru.
  • Memanggil Microsoft Graph, API Microsoft lainnya, atau API web Anda sendiri.
  • Menambahkan otorisasi.
  • Memasukkan pengguna di cloud nasional atau dengan identitas sosial.