public CrudService(IRepository <TEntity> repository, IEnumerable <IValidator <TEntity> > validators, GErrorDescriber errorDescriber) { _repository = repository; _validators = validators ?? new IValidator <TEntity> [0]; ErrorDescriber = errorDescriber; _unitOfWork = this._repository.UnitOfWork; }
public UserProfileService( IUserProfileRepository repository, IEnumerable <IValidator <UserProfile> > validators, GErrorDescriber errorDescriber ) : base(repository, validators, errorDescriber) { }
public UserService( IUserRepository userRepository, GErrorDescriber errorDescriber, IKeyNormalizer keyNormalizer, IPasswordHasher passwordHasher, IEnumerable <IValidator <User> > validators ) : base(userRepository, validators, errorDescriber) { KeyNormalizer = keyNormalizer; PasswordHasher = passwordHasher; }
public UserServiceTest() { var context = new MaktoobDbContext(new DbContextOptionsBuilder <MaktoobDbContext>().UseInMemoryDatabase("MaktoobDb").Options); _errorDescriber = new GErrorDescriber(); var keyNormalizer = new NameNormalizer(); var passwordHasher = new PasswordHasher(); var unitOfWork = new UnitOfWork(context); var userRepository = new UserRepository(context, unitOfWork); var userValidator = new IValidator <User>[] { new UserValidator(userRepository, keyNormalizer, _errorDescriber) }; _userService = new UserService(userRepository, _errorDescriber, keyNormalizer, passwordHasher, userValidator); }
public SignInServiceTest() { var context = new MaktoobDbContext(new DbContextOptionsBuilder <MaktoobDbContext>().UseInMemoryDatabase("MaktoobDb").Options); _errorDescriber = new GErrorDescriber(); var keyNormalizer = new NameNormalizer(); var passwordHasher = new PasswordHasher(); var unitOfWork = new UnitOfWork(context); var userRepository = new UserRepository(context, unitOfWork); var userLoginRepository = new UserLoginRepository(context, unitOfWork); var userValidator = new IValidator <User>[] { new UserValidator(userRepository, keyNormalizer, _errorDescriber) }; _userService = new UserService(userRepository, _errorDescriber, keyNormalizer, passwordHasher, userValidator); var jsonWebTokenOptions = new JsonWebTokenOptions { Issuer = "issuer", Audience = "audience", Algorithm = "HS256", Key = "super secret key", Expires = TimeSpan.Parse("00:00:01"), // 1 seconds RefreshToken = new RefreshTokenOptions { Expires = TimeSpan.Parse("00:00:10"), // 10 seconds UpdateRequired = TimeSpan.Parse("00:00:05") // 5 seconds } }; var securityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(jsonWebTokenOptions.Key)); JwtBearerOptions jwtBearerOptions = new JwtBearerOptions { TokenValidationParameters = new TokenValidationParameters { IssuerSigningKey = securityKey, ValidIssuer = jsonWebTokenOptions.Issuer, ValidAudience = jsonWebTokenOptions.Audience, ValidateAudience = !string.IsNullOrWhiteSpace(jsonWebTokenOptions.Audience), ValidateIssuer = !string.IsNullOrWhiteSpace(jsonWebTokenOptions.Issuer), ValidateIssuerSigningKey = true, ClockSkew = TimeSpan.Zero, ValidateLifetime = true } }; var jsonWebTokenCoder = new JsonWebTokenCoder(Options.Create(jsonWebTokenOptions)); var userClaimsFactory = new UserClaimsFactory(); var refreshTokenGenerator = new RefreshTokenGenerator(); _signInService = new SignInService(_userService, jsonWebTokenCoder, userLoginRepository, _errorDescriber, userClaimsFactory, refreshTokenGenerator, null, Options.Create(jsonWebTokenOptions)); }
public SignInService(IUserService userService, IJsonWebTokenCoder jsonWebTokenCoder, IUserLoginRepository userLoginRepository, GErrorDescriber errorDescriber, IUserClaimsFactory userClaimsFactory, IRefreshTokenGenerator refreshTokenGenerator, IEnumerable <IValidator <UserLogin> > validators, IOptions <JsonWebTokenOptions> jsonWebTokenOptions) : base(userLoginRepository, validators, errorDescriber) { UserService = userService; _jsonWebTokenCoder = jsonWebTokenCoder; _userClaimsFactory = userClaimsFactory; _refreshTokenGenerator = refreshTokenGenerator; _jsonWebTokenOptions = jsonWebTokenOptions?.Value; }
public UserValidator(IUserRepository userRepository, IKeyNormalizer keyNormalizer, GErrorDescriber errorDescriber) { _userRepository = userRepository; _keyNormalizer = keyNormalizer; _errorDescriber = errorDescriber; }
public TokenModelValidator(IOptions <JwtBearerOptions> options, GErrorDescriber errorDescriber) { _tokenHandler = new JwtSecurityTokenHandler(); _options = options?.Value; _errorDescriber = errorDescriber; }