我聽說它是??存盤 JWT 最安全的方式之一。我的問題是。如何將其保存在 cookie 中?
這是 Startup.cs 中 ConfigureServises 中的函式
services.AddControllers();
services.AddTransient<IUserRepository, UserRepository>();
services.AddTransient<ITokenService, TokenService>();
IdentityModelEventSource.ShowPII = true;
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme).AddJwtBearer(options =>
{
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidateAudience = true,
ValidateLifetime = true,
ValidateIssuerSigningKey = true,
ValidIssuer = Configuration["Jwt:Issuer"],
ValidAudience = Configuration["Jwt:Issuer"],
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration["Jwt:Key"]))
};
});
uj5u.com熱心網友回復:
傳遞給 AddJwtBearer 的 Options 物件包含它自己的 Events 屬性,它允許您自定義流程的各個部分。您需要將 MessageReceived 事件用于相同的
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options => {
options.Events = new JwtBearerEvents
{
OnMessageReceived = context =>
{
context.Token = context.Request.Cookies["CookieName"];
return Task.CompletedTask;
}
};
});
}
將 HTTP cookie 與 asp.net 核心一起使用
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/497423.html
標籤:网 asp.net-mvc asp.net 核心 jwt cookie 身份验证
