Soalan:
Bagaimana untuk melaksanakan pengesahan berasaskan token dalam Aplikasi Teras ASP.NET, di mana pelanggan AngularJS meminta token dengan menyediakan bukti kelayakan, dan WebApi mengesahkan pengguna dan mengembalikan token akses?
Jawapan:
1. Konfigurasi dalam Startup.cs:
Buat pemalar untuk TokenAudience dan TokenIssuer.
Tambah perkhidmatan suntikan pergantungan untuk kunci tandatangan JWT dan JwtSignInHandler.
Konfigurasikan ASP Teras .NET untuk menggunakan pengesahan Pembawa JWT dan menentukan parameter pengesahan token.
2. Persediaan Pengesahan:
Gunakan app.UseAuthentication() sebelum perisian tengah yang memerlukan pengesahan.
3. Dasar Kebenaran:
Tambahkan Polisi Kebenaran untuk menentukan pengawal dan tindakan yang memerlukan token Pembawa.
4. Membina Token:
Buat kelas JwtSignInHandler dengan kaedah untuk membina JWT, menghantar ClaimsPrincipal.
Dalam pengawal di mana token diperlukan, gunakan perkhidmatan JwtSignInHandler untuk cipta token berdasarkan pengetua.
5. Ujian:
Dapatkan token dan sahkannya di jwt.io menggunakan kunci rahsia daripada konfigurasi.
Nota untuk Kemas Kini .Net Core 3.1:
Rujuk kepada contoh aplikasi David Fowler untuk pelaksanaan yang dipermudahkan JWT.
Nota untuk Kemas Kini .Net Core 2:
Walaupun kunci RSA tidak diperlukan, ia disyorkan untuk sistem yang diedarkan. Walau bagaimanapun, jika mengagihkan tanggungjawab, SymmetricSecurityKey boleh digunakan.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pengesahan Berasaskan Token dalam Teras ASP.NET dengan Pelanggan AngularJS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!