Plz any one help me i can't find the problem!!! Can not Implicitly Convert SymmetrySecurityKey Type
var key = Encoding.ASCII.GetBytes(Configuration.GetSection("AppSettings:Token").Value);
services.AddDbContext<DataContext>(x => x.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddMvc();
services.AddCors();
services.AddScoped<IAuthRepository, AuthRepository>();
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme).AddJwtBearer(options =>
{
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuerSigningKey = true,
IssuerSigningKeys = new SymmetricSecurityKey(key),
ValidateIssuer = false,
ValidateAudience = false
};
});
}
The error is essentially "Cannot convert from SymmetricSecurityKey(string) to IEnumerable<SymmetricSecurityKey>". This means that the IssuerSigningKeys
is expecting an IEnumerable
(List
or Array
) of SymmetricSecurityKey
instead of a single value.
The fix is easy, give it an array:
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme).AddJwtBearer(options =>
{
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuerSigningKey = true,
IssuerSigningKeys = new[] { new SymmetricSecurityKey(key) },
ValidateIssuer = false,
ValidateAudience = false
};
});