Wie melde ich mich im Entwicklungsmodus automatisch bei der Swagger-API an?C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Wie melde ich mich im Entwicklungsmodus automatisch bei der Swagger-API an?

Post by Anonymous »

Ich möchte nicht jedes Mal, wenn ich den API-Code ausführe und debugge, ein Token vom Anmeldeendpunkt in Swagger erhalten. Ich habe diesen Code zur Datei program.cs hinzugefügt, um mich zu authentifizieren, aber wenn ich einen Endpunkt mit einem [Authorize]-Attribut teste, erhalte ich eine 401-Antwort. Wie kann man das beheben?

Code: Select all

builder.Services.AddSwaggerGen(opt =>
{
opt.SwaggerDoc("v1", new OpenApiInfo
{
Title = "•♣• My Api •♣•",
Version = "Version: 1.1.1"
});

opt.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
{
In = ParameterLocation.Header,
Description = "Please enter token",
Name = "Authorization",
Type = SecuritySchemeType.Http,
BearerFormat = "JWT",
Scheme = "bearer"
});

opt.AddSecurityRequirement(new OpenApiSecurityRequirement
{
{
new OpenApiSecurityScheme
{
Reference = new OpenApiReference
{
Type=ReferenceType.SecurityScheme,
Id="Bearer"
}
},
new string[]{}
}
});
});

builder.Host.UseSerilog((context, configuration) =>
configuration.ReadFrom.Configuration(context.Configuration));

var app = builder.Build();
app.UseSerilogRequestLogging();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.ConfigObject.AdditionalItems = new Dictionary
{
{
"requestInterceptor",
"function (req) { req.headers['Authorization'] = 'Bearer someTokenThatIsValid'; return req; }"
}
};
});
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post