Почему x-tokenName игнорируется в swagger?
я хочу сделать oauth2 авторизацию с помощью google. Мне нужно чтобы swagger брал токен из id_token. Но когда я задаю значение для x-tokenName в id_token то ничего не происходит и параметр просто игнорируется.
Ответа сколько не искал так и не нашел!
Вот мой код:
builder.Services.AddSwaggerGen(options =>
{
options.SwaggerDoc("v1", new OpenApiInfo
{
Title = "Authentification",
Version = "v1",
Description = "Api description"
});
options.AddSecurityDefinition("oauth2", new OpenApiSecurityScheme
{
Type = SecuritySchemeType.OAuth2,
In = ParameterLocation.Header,
Flows = new OpenApiOAuthFlows
{
AuthorizationCode = new OpenApiOAuthFlow
{
AuthorizationUrl = new Uri($"https://accounts.google.com/o/oauth2/v2/auth"),
TokenUrl = new Uri($"https://www.googleapis.com/oauth2/v4/token"),
Scopes = new Dictionary<string, string>
{
{ $"https://www.googleapis.com/auth/cloud-platform.read-only", "Description" }
},
Extensions = new Dictionary<string, IOpenApiExtension>
{
{ "x-tokenName", new OpenApiString("token_type") }
}
}
}
});
options.AddSecurityRequirement(new OpenApiSecurityRequirement()
{
{
new OpenApiSecurityScheme
{
Reference = new OpenApiReference { Type = ReferenceType.SecurityScheme, Id = "oauth2" },
},
new [] { "https://www.googleapis.com/auth/cloud-platform.read-only" }
}
});
});
При валидации токена который возвращает swagger я получаю ошибку: Google.Apis.Auth.InvalidJwtException: JWT must consist of Header, Payload, and Signature
Использую openapi версии 3.0.1.
Если нужна еще какая-то информация, то с радостью предоставлю!