我有自己的授權中間件,它讀取 jwt 并從授權標頭獲取令牌。使用招搖授權:
builder.Services.AddSwaggerGen(option =>
{
option.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
{
In = ParameterLocation.Header,
Description = "Please enter a valid token",
Name = "Authorization",
Type = SecuritySchemeType.Http,
BearerFormat = "JWT",
Scheme = "Bearer"
});
option.AddSecurityRequirement(new OpenApiSecurityRequirement
{
{
new OpenApiSecurityScheme
{
Reference = new OpenApiReference
{
Type=ReferenceType.SecurityScheme,
Id="Bearer"
}
},
new string[]{}
}
});
});
我總是有這樣的標題:“授權:不記名”。
我想知道是否有可能禁用此“承載”前綴并在以下位置發送標頭:授權:表單?
uj5u.com熱心網友回復:
使用SecuritySchemeType.ApiKey代替.Http:
option.AddSecurityDefinition("ApiKey", new OpenApiSecurityScheme
{
In = ParameterLocation.Header,
Description = "Please enter a valid token",
Name = "Authorization",
Type = SecuritySchemeType.ApiKey
});
這定義了Authorization: VALUE沒有任何值前綴的標頭。
請記住還要添加安全要求:
option.AddSecurityRequirement(new OpenApiSecurityRequirement
{
{
new OpenApiSecurityScheme
{
Reference = new OpenApiReference { Type = ReferenceType.SecurityScheme, Id = "ApiKey" }
},
new string[] { }
}
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/512592.html
