Czym są validAudience i validIssuer?
Jaką powinny mieć wartość?
Do tej pory myślałem, że to domeny lub konkretnie adresy, które wydają token i nim autoryzują różne zapytania do API. Obecnie jednak w moim API mam włączoną ich walidację i jaką bym treść nie podał w tych wartościach to uwierzytelnianie się tokenem zawsze przechodzi.
W przykładach i tutorialach zawsze walidacja ich jest włączona, ale nikt nie tłumaczy dokładnie po co są te wartości i między wierszami czytając domyślam się tylko, że ValidateIssuer oznacza serwer tworzący token, a ValidateAudience służy do sprawdzenia czy właściwy odbiorca się tokenem posługuje. Mimo wszystko nie wiem dokładnie "z czym to się je".
services.AddAuthentication(opt =>
{
opt.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
opt.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(options =>
{
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidateAudience = true,
ValidateLifetime = true,
ValidateIssuerSigningKey = true,
ValidIssuer = jwtSettings.GetSection("validIssuer").Value,
ValidAudience = jwtSettings.GetSection("validAudience").Value,
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(secretKey))
};