ASP.NET Core 6‘da JWT belirteçleri ve tanımlama bilgileriyle çalışmak için birkaç ipucu: Microsoft.AspNetCore.Authentication.JwtBearer NuGet paketini kurun. Bu, JWT belirteçlerini doğrulamak için ara yazılım içerir. Startup.cs’de, ConfigureServices yönteminde şunu ekleyin:
services.AddAuthentication(options => {
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(options => {
options.Events = new JwtBearerEvents()
{
OnMessageReceived = context =>
{
context.Token = context.Request.Cookies[“JWT”];
return Task.CompletedTask;
}
};
});
Bu, JWT kimlik doğrulamasını yapılandırır ve belirteci “JWT” adlı bir tanımlama bilgisinde arar. Bir kullanıcı oturum açtığında bir JWT belirteci oluşturun, taleplerini ekleyin ve sona erme tarihini ayarlayın. Bunu bir çereze kaydedin. Denetleyicilerde, kimlik doğrulama gerektirmek için [Yetkilendir] özniteliğini ekleyin. Uygulamanın ara yazılım ardışık düzeninde şunları ekleyin:
app.UseAuthentication();
app.UseAuthorization();
Bu, kimlik doğrulama ve yetkilendirme sağlar. Oturum açmış kullanıcının taleplerini almak için IHttpContextAccessor enjekte edin ve bunlara kullanıcı sorumlusundan erişin:
var claims = httpContextAccessor.HttpContext.User.Claims;
Özetle – girişte bir JWT oluşturun, onu bir tanımlama bilgisine kaydedin, ara yazılım aracılığıyla her istekte tanımlama bilgisi belirtecini doğrulayın ve yetkilendirme için talepleri kullanın.
Başka bir Makalede görüşmek üzere