|
|
|
@ -1,5 +1,8 @@ |
|
|
|
using Microsoft.AspNetCore.Authentication.JwtBearer; |
|
|
|
using OpenIddict.Demo.API; |
|
|
|
using Microsoft.OpenApi.Models; |
|
|
|
using Swashbuckle.AspNetCore.SwaggerGen; |
|
|
|
using Swashbuckle.AspNetCore.SwaggerUI; |
|
|
|
|
|
|
|
var builder = WebApplication.CreateBuilder(args); |
|
|
|
builder.Logging.ClearProviders(); |
|
|
|
@ -20,7 +23,40 @@ builder.Services.AddCors(options => |
|
|
|
builder.Services.AddControllers(); |
|
|
|
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
|
|
|
|
builder.Services.AddEndpointsApiExplorer(); |
|
|
|
builder.Services.AddSwaggerGen(); |
|
|
|
builder.Services.AddSwaggerGen(options => |
|
|
|
{ |
|
|
|
options.AddSecurityDefinition("oauth2", new OpenApiSecurityScheme |
|
|
|
{ |
|
|
|
Type = SecuritySchemeType.OAuth2, |
|
|
|
Flows = new OpenApiOAuthFlows |
|
|
|
{ |
|
|
|
AuthorizationCode = new OpenApiOAuthFlow |
|
|
|
{ |
|
|
|
AuthorizationUrl = new Uri("https://localhost:44301/connect/authorize"), |
|
|
|
TokenUrl = new Uri("https://localhost:44301/connect/token"), |
|
|
|
Scopes = new Dictionary<string, string> |
|
|
|
{ |
|
|
|
{ "AbpAPI", "AbpAPI"} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
options.AddSecurityRequirement(new OpenApiSecurityRequirement |
|
|
|
{ |
|
|
|
{ |
|
|
|
new OpenApiSecurityScheme |
|
|
|
{ |
|
|
|
Reference = new OpenApiReference |
|
|
|
{ |
|
|
|
Type = ReferenceType.SecurityScheme, |
|
|
|
Id = "oauth2" |
|
|
|
} |
|
|
|
}, |
|
|
|
Array.Empty<string>() |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) |
|
|
|
.AddAbpJwtBearer(options => |
|
|
|
@ -37,7 +73,12 @@ await app.InitializeApplicationAsync(); |
|
|
|
if (app.Environment.IsDevelopment()) |
|
|
|
{ |
|
|
|
app.UseSwagger(); |
|
|
|
app.UseSwaggerUI(); |
|
|
|
app.UseSwaggerUI(options => |
|
|
|
{ |
|
|
|
options.SwaggerEndpoint("/swagger/v1/swagger.json", "OpenIddict.Demo.API"); |
|
|
|
options.OAuthClientId("Swagger"); |
|
|
|
options.OAuthScopes("AbpAPI"); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
app.UseHttpsRedirection(); |
|
|
|
|