public static IJwtBuilder AddUserExtractor <TExtractor>(this IJwtBuilder builder, ServiceLifetime lifetime = ServiceLifetime.Singleton) where TExtractor : class, IUserExtractor { return(builder.AddJwtBuilderAction((services, configuration) => { services.Add(new ServiceDescriptor(typeof(IUserExtractor), typeof(TExtractor), lifetime)); })); }
public static IJwtBuilder AddBasicUserAuthenticator(this IJwtBuilder builder, string sectionKey = "JWT:Client") { return(builder.AddJwtBuilderAction((services, configuration) => { var credentials = configuration.GetSection(sectionKey).Get <BasicCredentials>(); Validator.ValidateObject(credentials, new ValidationContext(credentials)); services.AddSingleton(credentials); services.AddSingleton <IUserAuthenticator, BasicUserAuthenticator>(); })); }