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

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

Mulai cepat: Aplikasi web ASP.NET Core dengan masuk pengguna

Kami mohon maaf atas ketidaknyamanan ini dan menghargai kesabaran Anda selama kami bekerja 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 Azure Active Directory (Azure AD) 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 telah 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 masuk ke 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) untuk aplikasi yang terdaftar di portal Microsoft Azure.
Instance Titik akhir layanan token keamanan (STS) bagi pengguna untuk mengautentikasi. Nilai ini biasanya https://login.microsoftonline.com/, menunjukkan awan publik Azure.
TenantId Nama penyewa atau ID penyewa (GUID), atau common untuk memasukkan pengguna dengan akun kantor atau sekolah atau akun pribadi Microsoft.

Metode Configure() ini berisi dua metode penting, app.UseAuthentication() dan app.UseAuthorization(), yang memungkinkan fungsionalitas bernama. 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.