Bagikan melalui


Mulai cepat: Menambahkan 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:

Panduan Cepat: Menambahkan fitur 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 panduan kilat ini dapat 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.

Sudah dikonfigurasi Aplikasi Anda dikonfigurasi dengan atribut ini.

Langkah 2: Unduh ASP.NET Core

Jalankan proyek.

Petunjuk / Saran

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 Anda dengan nilai properti aplikasi Anda, dan siap dijalankan.

Nota

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 masuk ke aplikasi ASP.NET Core yang ada.

Cara kerja sampel

Diagram interaksi antara browser web, aplikasi web, dan platform identitas Microsoft di aplikasi sampel.

Kelas Startup

Middleware Microsoft.AspNetCore.Authentication menggunakan Startup kelas 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 ini AddAuthentication() 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 ini Configure() , 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 metode pengontrol atau pengontrol dengan menggunakan [Authorize] atribut . Atribut ini membatasi akses ke pengontrol atau metode dengan hanya mengizinkan pengguna terautentikasi. Tantangan autentikasi kemudian dapat dimulai untuk mengakses pengontrol jika pengguna belum diautentikasi.

Bantuan dan dukungan

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

Langkah selanjutnya

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

  • Tambahkan autentikasi ke aplikasi web ASP.NET Core baru.
  • Panggil Microsoft Graph, API Microsoft lainnya, atau API web Anda sendiri.
  • Tambahkan otorisasi.
  • Mendaftarkan pengguna di cloud nasional atau menggunakan identitas sosial.