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.
 
 
 
 
 

41 lines
1.4 KiB

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