You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
1.4 KiB

using Easy.Options;
using Microsoft.AspNetCore.Authorization;
using Microsoft.EntityFrameworkCore;
using Microsoft.IdentityModel.Tokens;
using TenantManagement.Api.EF;
namespace TenantManagement.Api.Realization;
public static class CustomExtension
{
public static void AddCustomAuthentication(this WebApplicationBuilder builder)
{
builder.Services.AddAuthentication("Bearer")
.AddJwtBearer("Bearer", options =>
{
options.Authority = "";
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateAudience = false
};
});
}
public static void AddCustomDbContext(this WebApplicationBuilder builder)
{
var sqlConnectionString = builder.Configuration["ConnectionString"];
builder.Services.AddDbContext<TenantManagementContext>(optionsBuilder =>
{
if (!string.IsNullOrEmpty(sqlConnectionString))
{
optionsBuilder.UseMySql(sqlConnectionString, ServerVersion.Parse("8.0.28-mysql"));
}
});
builder.Services.AddTransient<DbContext, TenantManagementContext>();
builder.Services.Configure<SequentialGuidGeneratorOptions>(options =>
{
options.SequentialGuidType = Easy.Enums.SequentialGuidType.SequentialAsString;
});
}
}