public static void AddCustomJwtService(this IServiceCollection services, TokenOptionModel tokenOptions) { services.AddAuthentication(options => { options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }).AddJwtBearer(JwtBearerDefaults.AuthenticationScheme, opts => { opts.TokenValidationParameters = new TokenValidationParameters() { ValidIssuer = tokenOptions.Issuer, ValidAudience = tokenOptions.Audience, IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(tokenOptions.SecurityKey)), ValidateIssuerSigningKey = true, ValidateAudience = true, ValidateIssuer = true, ValidateLifetime = true, ClockSkew = TimeSpan.Zero }; }); }
public DemoService(DataContext dataContext, IOptions <TokenOptionModel> options) { _dataContext = dataContext; _tokenOptions = options.Value; }