Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Melaksanakan Pengesahan Token Pembawa JWT dalam API Web ASP.NET pada IIS?
Aplikasi pengedaran moden selalunya memerlukan pengesahan yang lebih mantap daripada kaedah API Web ASP.NET tradisional seperti borang atau pengesahan Windows. Panduan ini memperincikan pelaksanaan pengesahan token pembawa JWT dalam API Web yang dihoskan pada IIS.
1. Penjanaan Token
Token JWT terdiri daripada pengepala, tuntutan dan tandatangan. Pakej System.IdentityModel.Tokens.Jwt
NuGet memudahkan penjanaan token menggunakan HMACSHA256 dengan kunci simetri.
<code class="language-csharp">public static string GenerateToken(string username, int expireMinutes = 20) { var symmetricKey = Convert.FromBase64String(Secret); var tokenHandler = new JwtSecurityTokenHandler(); ... return token; }</code>
2. Pengesahan Token
Pengesahan token dicapai menggunakan:
<code class="language-csharp">private static bool ValidateToken(string token, out string username) { ... }</code>
Ini membentuk teras atribut penapis pengesahan tersuai:
<code class="language-csharp">public class JwtAuthenticationAttribute : Attribute, IAuthenticationFilter { ... }</code>
3. Minta Pengesahan
Gunakan JwtAuthenticationAttribute
pada tindakan atau laluan yang memerlukan pengesahan. Penapis mengesahkan JWT dan menyediakan ClaimsPrincipal
(atau batal apabila gagal).
4. Keizinan
Gunakan AuthorizeAttribute
di seluruh dunia untuk menyekat akses tanpa nama. Dalam tindakan selamat, dapatkan butiran pengguna daripada ClaimsPrincipal
.
Kaedah ini membolehkan pengesahan token pembawa JWT dalam API Web ASP.NET anda yang dihoskan IIS tanpa perisian tengah OWIN, menawarkan kebenaran yang selamat dan berskala untuk perkhidmatan web anda.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pengesahan Token Pembawa JWT dalam API Web ASP.NET pada IIS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!