Beispiel #1
0
 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)
 {
 }
Beispiel #3
0
 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;
 }
Beispiel #7
0
 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;
 }