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
43 lines
1.4 KiB
3 years ago
|
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;
|
||
|
});
|
||
|
}
|
||
|
}
|