/// chỉnh trong appsetting.json
/// chỉnh trong appsetting.json
json
"Jwt": {
"Issuer": "https://localhost:5000",
"Audience": "User",
"JwtExpiryInMinutes": 30,
"AllowedHosts": "*"
};
issuer: _configuration["Jwt:Issuer"],
audience: _configuration["Jwt:Audience"],
claims: claims,
expires: expiry,
signingCredentials: creds
);
builder.Services.AddAuthentication(options =>
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(options =>
options.SaveToken = true;
options.RequireHttpsMetadata = false;
ValidateIssuer = true,
ValidateAudience = true,
ValidAudience = builder.Configuration["Jwt:Audience"],
ValidIssuer = builder.Configuration["Jwt:Issuer"],
IssuerSigningKey = new
SymmetricSecurityKey(Encoding.UTF8.GetBytes(builder.Configuration["Jwt:JwtSecurityKey"]))
};
});
// Nếu muốn hiện Authoriza lên web thì có thể them vào program.cs
builder.Services.AddSwaggerGen(option =>
In = ParameterLocation.Header,
Name = "Authorization",
Type = SecuritySchemeType.Http,
BearerFormat = "JWT",
Scheme = "Bearer"
});
option.AddSecurityRequirement(new OpenApiSecurityRequirement
new OpenApiSecurityScheme
Type=ReferenceType.SecurityScheme,
Id="Bearer"
},
new string[]{}
});
});