示例#1
0
 public SignUpModel(UserManager <User> userManager,
                    IEmailConfirmationService emailConfirmationService,
                    IMapper mapper,
                    ILogger <SignUpModel> logger)
 {
     _userManager = userManager;
     _emailConfirmationService = emailConfirmationService;
     _mapper = mapper;
     _logger = logger;
 }
示例#2
0
 public RegistrationService(
     IProfilesService profilesService,
     IRegistrationIdentityService registrationIdentityService,
     IEmailConfirmationService emailConfirmationService,
     IPhoneConfirmationService phoneConfirmationService)
 {
     _profilesService             = profilesService;
     _registrationIdentityService = registrationIdentityService;
     _emailConfirmationService    = emailConfirmationService;
     _phoneConfirmationService    = phoneConfirmationService;
 }
示例#3
0
 public LoginModel(SignInManager <AppUser> signInManager,
                   RoleManager <IdentityRole <int> > roleManager,
                   ILogger <LoginModel> logger,
                   UserManager <AppUser> userManager,
                   IEmailConfirmationService emailConfirm)
 {
     _userManager   = userManager;
     _signInManager = signInManager;
     _logger        = logger;
     _emailConfirm  = emailConfirm;
 }
 public RegistrationController(
     IMuseumRegistrationService museumRegistrationService,
     IEmailConfirmationService emailConfirmationService,
     UserManager <ApplicationUser> userManager,
     IIdentityTokenService identityTokenService)
 {
     this.emailConfirmationService = emailConfirmationService;
     this.userManager               = userManager;
     this.identityTokenService      = identityTokenService;
     this.museumRegistrationService = museumRegistrationService;
 }
示例#5
0
        public AccountController(ILoginService loginService, IEmailConfirmationService emailConfirmationService,
                                 IAddUserService addUserService, ICredentialsService credentialsService, IAccountDataService accountDataService,
                                 IOptionsSnapshot <IdentityUIEndpoints> identityUIEndpoints)
        {
            _loginService             = loginService;
            _emailConfirmationService = emailConfirmationService;
            _addUserService           = addUserService;
            _credentialsService       = credentialsService;
            _accountDataService       = accountDataService;

            _identityUIEndpoints = identityUIEndpoints.Value;
        }
示例#6
0
 public AuthController(IRegistrationService registrationService, ILoginService loginService, UserManager <ApplicationUser> userManager, IEmailConfirmationService emailConfirmationService,
                       IPasswordService passwordService,
                       IRefreshTokenService refreshtokenService, IHostingEnvironment hostingEnvironment)
 {
     RegistrationService      = registrationService;
     HostingEnvironment       = hostingEnvironment;
     LoginService             = loginService;
     UserManager              = userManager;
     EmailConfirmationService = emailConfirmationService;
     PasswordService          = passwordService;
     RefreshTokenService      = refreshtokenService;
 }
示例#7
0
 public ExternalRegisterHandler(
     ILogger <ExternalRegisterHandler> logger,
     INamedServiceFactory <IClassifierRepository> classifierRepositoryFactory,
     UserManager <DbUser> userManager,
     SignInManager <DbUser> signInManager,
     IEmailConfirmationService emailConfirmationService)
 {
     _logger = logger;
     _classifierRepositoryFactory = classifierRepositoryFactory;
     _userManager              = userManager;
     _signInManager            = signInManager;
     _emailConfirmationService = emailConfirmationService;
 }
示例#8
0
 public AccountService(
     IUserManager userManager,
     IEmailConfirmationService emailConfirmationService,
     IEmailConfirmationSender emailConfirmationSender,
     ITokenService tokenService,
     ILogger <AccountService> logger)
 {
     this.userManager = userManager;
     this.emailConfirmationService = emailConfirmationService;
     this.emailConfirmationSender  = emailConfirmationSender;
     this.tokenService             = tokenService;
     this.logger = logger;
 }
        public async Task <IActionResult> Post([FromBody] RegistrationRequest request,
                                               [FromServices] IAuthenticationManager authentication,
                                               [FromServices] RemoteBillingService billingService,
                                               [FromServices] IEmailConfirmationService emailConfirmationService,
                                               [FromServices] ICryptoProviderService cryptoProvider)
        {
            try {
                var value     = Convert.FromBase64String(request.InitCms);
                var xml       = new UTF8Encoding(false).GetString(value);
                var encrypted = XmlSerializationHelper.DeserializeFromXml <string>(xml);
                var decrypted = AesHelper.Decrypt(encrypted);
                var isValid   = await cryptoProvider.VerifyCMSAsync(xml, request.SignedCms);

                if (!isValid)
                {
                    return(Json(ApiResponse.Failed(ApiErrorCode.ValidationError, "Сертификат не прошел проверку")));
                }
                var signUpDateTime = new DateTime(Convert.ToInt64(decrypted));
                if ((DateTime.Now - signUpDateTime).Hours > 0)
                {
                    return(Json(ApiResponse.Failed(ApiErrorCode.AuthenticationFailed, "С момента начала авторизации прошло больше часа")));
                }
            } catch {
                return(Json(ApiResponse.Failed(ApiErrorCode.AuthenticationFailed, "Сбой дешифрации сообщения")));
            }
            await authentication.RegisterAsync(request, billingService);

            string code;
            long   userId;

            if (!request.InvitedUser)
            {
                using (var repository = new Repository <User>(_provider)) {
                    var user = repository.Get(x => x.UserName == request.UserAccount.Email).Single();
                    code = emailConfirmationService.GenerateEmailConfirmationToken(user);
                    repository.Update(user);
                    repository.Commit();
                    userId = user.Id;
                }

                var callbackUrl = Url.Action(
                    "ConfirmEmail",
                    "Registration",
                    new { userId = userId, code = code },
                    protocol: HttpContext.Request.Scheme);
                callbackUrl = callbackUrl.Replace("api/Registration/ConfirmEmail", "auth/confirmemail");
                emailConfirmationService.SendConfirmationUrl(request.UserAccount.Email, callbackUrl);
            }
            return(Json(ApiResponse.Success(true)));
        }
示例#10
0
 public AuthController(UserManager <User> userManager, SignInManager <User> signManager,
                       IEmailService emailService, IOptions <HostSettings> hostSettingsProvider,
                       IOptions <EmailConfirmationSettings> emailConfirmationSettingsProvider,
                       IMapper mapper, IEmailConfirmationService emailConfirmationService,
                       IJwtFactory jwtFactory, IOptions <JwtSettings> jwtOptions) : base(userManager)
 {
     _userManager  = userManager;
     _signManager  = signManager;
     _emailService = emailService;
     _hostSettings = hostSettingsProvider.Value;
     _emailConfirmationSettings = emailConfirmationSettingsProvider.Value;
     _mapper = mapper;
     _emailConfirmationService = emailConfirmationService;
     _jwtFactory = jwtFactory;
 }
 public RegisterModel(
     FoodBankContext context,
     UserManager <AppUser> userManager,
     SignInManager <AppUser> signInManager,
     IMapper mapper,
     ILogger <RegisterModel> logger,
     IEmailConfirmationService emailConfirm)
 {
     _context       = context;
     _userManager   = userManager;
     _signInManager = signInManager;
     _logger        = logger;
     _mapper        = mapper;
     _emailConfirm  = emailConfirm;
 }
示例#12
0
 public UsersController(IUserService userService, IRegistrationService registrationalService, IConfirmationSenderService confirmationalService,
                        IAuthentificationService authentificationSerice, IJwtService jwtService, IEmailChangeService emailChangeService, IEmailConfirmationService emailConfirmationService,
                        IPasswordChangeService passwordChangeService, IPasswordRecoveryService passwordRecoveryService, IValidationService userDraftValidationService)
 {
     _emailChangeService         = emailChangeService;
     _userService                = userService;
     _jwtService                 = jwtService;
     _autentificationService     = authentificationSerice;
     _registrationService        = registrationalService;
     _confirmationSenderService  = confirmationalService;
     _emailConfirmationService   = emailConfirmationService;
     _passwordChangeService      = passwordChangeService;
     _passwordRecoveryService    = passwordRecoveryService;
     _userDraftValidationService = userDraftValidationService;
 }
示例#13
0
        public ManageUserService(
            UserManager <AppUserEntity> userManager,
            IUserRepository userRepository,
            IRoleRepository roleRepository,
            IBaseRepository <UserRoleEntity> userRoleRepository,
            IBaseRepository <GroupUserEntity> groupUserRepository,
            IBaseDAO <AppUserEntity> userDAO,
            IGroupUserStore groupUserStore,
            IEmailConfirmationService emailConfirmationService,
            ISessionService sessionService,
            IProfileImageService profileImageService,
            IValidator <EditUserRequest> editUserValidator,
            IValidator <SetNewPasswordRequest> setNewPasswordValidator,
            IValidator <EditProfileRequest> editRequestValidator,
            IValidator <UnlockUserRequest> unlockUserValidator,
            IValidator <SendEmailVerificationMailRequest> sendEmailVerificationMailValidator,
            ILogger <ManageUserService> logger)
        {
            _userManager = userManager;

            _userRepository      = userRepository;
            _roleRepository      = roleRepository;
            _userRoleRepository  = userRoleRepository;
            _groupUserRepository = groupUserRepository;

            _userDAO = userDAO;

            _groupUserStore = groupUserStore;

            _emailConfirmationService = emailConfirmationService;
            _sessionService           = sessionService;

            _profileImageService = profileImageService;

            _editUserValidator       = editUserValidator;
            _setNewPasswordValidator = setNewPasswordValidator;
            _editProfileValidator    = editRequestValidator;

            _unlockUserValidator = unlockUserValidator;
            _sendEmailVerificationMailValidator = sendEmailVerificationMailValidator;

            _logger = logger;
        }
示例#14
0
        public AddUserService(
            UserManager <AppUserEntity> userManager,
            SignInManager <AppUserEntity> signInManager,
            IEmailConfirmationService emailService,
            IGroupUserService groupUserService,
            IAddUserFilter addUserFilter,
            IBaseDAO <AppUserEntity> userDAO,
            IBaseDAO <InviteEntity> inviteDAO,
            IBaseDAO <RoleEntity> roleDAO,
            IOptions <IdentityUIEndpoints> identityUIEndpoints,
            IValidator <NewUserRequest> newUserValidator,
            IValidator <RegisterRequest> registerValidator,
            IValidator <AcceptInviteRequest> acceptInviteValidator,
            IValidator <ExternalLoginRegisterRequest> externalLoginRequsterRequestValidator,
            IValidator <GroupBaseUserRegisterRequest> groupBaseUserRegisterRequestValidator,
            IValidator <BaseRegisterRequest> baseRegisterValidator,
            IValidator <IUserAttributeRequest> userAttributeRequestValidator,
            ILogger <AddUserService> logger)
        {
            _userManager   = userManager;
            _signInManager = signInManager;

            _userDAO   = userDAO;
            _inviteDAO = inviteDAO;
            _roleDAO   = roleDAO;

            _emailService     = emailService;
            _groupUserService = groupUserService;
            _addUserFilter    = addUserFilter;

            _newUserValidator      = newUserValidator;
            _registerValidator     = registerValidator;
            _acceptInviteValidator = acceptInviteValidator;
            _externalLoginRequsterRequestValidator = externalLoginRequsterRequestValidator;
            _groupBaseUserRegisterRequestValidator = groupBaseUserRegisterRequestValidator;
            _userAttributeRequestValidator         = userAttributeRequestValidator;
            _baseRegisterValidator = baseRegisterValidator;

            _identityUIEndpoints = identityUIEndpoints.Value;

            _logger = logger;
        }
示例#15
0
        public AddUserService(UserManager <AppUserEntity> userManager, IValidator <NewUserRequest> newUserValidator,
                              IValidator <RegisterRequest> registerValidator, IValidator <AcceptInviteRequest> acceptInviteValidator,
                              ILogger <AddUserService> logger, IEmailConfirmationService emailService, IBaseRepository <InviteEntity> inviteRepository,
                              IBaseRepository <GroupEntity> groupRepository, IBaseRepository <GroupUserEntity> groupUserRepository,
                              IBaseRepository <RoleEntity> roleRepository)
        {
            _userManager = userManager;

            _inviteRepository    = inviteRepository;
            _groupRepository     = groupRepository;
            _groupUserRepository = groupUserRepository;
            _roleRepository      = roleRepository;

            _newUserValidator      = newUserValidator;
            _registerValidator     = registerValidator;
            _acceptInviteValidator = acceptInviteValidator;

            _emailService = emailService;

            _logger = logger;
        }
示例#16
0
        public AccountController(
            ILoginService loginService,
            IEmailConfirmationService emailConfirmationService,
            IAddUserService addUserService,
            ICredentialsService credentialsService,
            IAccountDataService accountDataService,
            ITwoFactorAuthService twoFactorAuthService,
            IExternalLoginService externalLoginService,
            IGroupRegistrationService groupRegistrationService,
            IOptionsSnapshot <IdentityUIEndpoints> identityUIEndpoints)
        {
            _loginService             = loginService;
            _emailConfirmationService = emailConfirmationService;
            _addUserService           = addUserService;
            _credentialsService       = credentialsService;
            _accountDataService       = accountDataService;
            _twoFactorAuthService     = twoFactorAuthService;
            _externalLoginService     = externalLoginService;
            _groupRegistrationService = groupRegistrationService;

            _identityUIEndpoints = identityUIEndpoints.Value;
        }
示例#17
0
        public AddUserService(
            UserManager <AppUserEntity> userManager,
            SignInManager <AppUserEntity> signInManager,
            IValidator <NewUserRequest> newUserValidator,
            IValidator <RegisterRequest> registerValidator,
            IValidator <AcceptInviteRequest> acceptInviteValidator,
            ILogger <AddUserService> logger,
            IEmailConfirmationService emailService,
            IBaseRepository <InviteEntity> inviteRepository,
            IBaseRepository <GroupEntity> groupRepository,
            IBaseRepository <GroupUserEntity> groupUserRepository,
            IValidator <ExternalLoginRegisterRequest> externalLoginRequsterRequestValidator,
            IOptions <IdentityUIEndpoints> identityUIEndpoints,
            IBaseRepository <RoleEntity> roleRepository,
            IValidator <IUserAttributeRequest> userAttributeRequestValidator)
        {
            _userManager   = userManager;
            _signInManager = signInManager;

            _inviteRepository    = inviteRepository;
            _groupRepository     = groupRepository;
            _groupUserRepository = groupUserRepository;
            _roleRepository      = roleRepository;

            _newUserValidator      = newUserValidator;
            _registerValidator     = registerValidator;
            _acceptInviteValidator = acceptInviteValidator;
            _externalLoginRequsterRequestValidator = externalLoginRequsterRequestValidator;
            _userAttributeRequestValidator         = userAttributeRequestValidator;

            _emailService = emailService;

            _identityUIEndpoints = identityUIEndpoints.Value;

            _logger = logger;
        }
 public EmailConfirmationController(IEmailConfirmationService emailConfirmationService)
 {
     _emailConfirmationService = emailConfirmationService;
 }
示例#19
0
 public UserService(IBaseService baseService, IErrorLogService errorLogService, IEmailConfirmationService emailConfirmationService, IAdminService adminService)
 {
     _baseService              = baseService;
     _baseService.ErrorLog     = errorLogService;
     _emailConfirmationService = emailConfirmationService;
     _adminService             = adminService;
 }
        public async Task <IActionResult> ForgotPassword([FromBody] ForgotPasswordRequest request, [FromServices] IEmailConfirmationService emailConfirmationService)
        {
            using (var repository = new Repository <User>(_provider)) {
                var user = await repository.Get(x => x.UserName == request.Email).SingleOrDefaultAsync();

                if (user == null)
                {
                    return(Json(ApiResponse.Success("Ссылка для восстановления пароля была выслана на указанный e-mail")));
                }
                var code = emailConfirmationService.GenerateEmailConfirmationToken(user);

                var callbackUrl = Url.Action(
                    "ResetPassword",
                    "Registration",
                    new { userId = user.Id, code = code },
                    protocol: HttpContext.Request.Scheme);
                callbackUrl = callbackUrl.Replace("api/Registration/ResetPassword", "auth/resetpassword");
                emailConfirmationService.SendForgotPasswordUrl(user.Email, callbackUrl);

                return(Json(ApiResponse.Success("Ссылка для восстановления пароля была выслана на указанный e-mail")));
            }
        }
 public ConfirmEmailModel(UserManager <AppUser> userManager, SignInManager <AppUser> signInManager, IEmailConfirmationService emailConfirm)
 {
     _userManager   = userManager;
     _signInManager = signInManager;
     _emailConfirm  = emailConfirm;
 }
示例#22
0
 public EmailConfirmationController(IEmailConfirmationService service)
 {
     this.service = service;
 }
示例#23
0
 public UsersApiController(IUserService userService, IMemberProfileService memberProfileService, IAppTokenService appTokenService, ISendEmailService sendEmailService, IEmailConfirmationService emailConfirmationService, ISmsService smsService, IAdminService adminService)
 {
     _userService              = userService;
     _memberProfileService     = memberProfileService;
     _appTokenService          = appTokenService;
     _sendEmailService         = sendEmailService;
     _emailConfirmationService = emailConfirmationService;
     _smsService   = smsService;
     _adminService = adminService;
 }
 public AccountController(UserManager <ApplicationUser> userManager, SignInManager <ApplicationUser> signInManager, IEmailConfirmationService emailConfirmationService)
 {
     this.userManager = userManager;
     this.emailConfirmationService = emailConfirmationService;
 }
        public async Task <IActionResult> ConfirmEmail([FromBody] ConfirmEmailRequest confirmEmailRequest, [FromServices] IEmailConfirmationService emailConfirmationService)
        {
            using (var repository = new Repository <User>(_provider)) {
                var user = await repository.Get(x => x.Id == confirmEmailRequest.UserId).SingleAsync();

                if (user.Confirmed.HasValue)
                {
                    return(Json(ApiResponse.Failed(ApiErrorCode.ValidationError, "Данная регистрация была подтверждена ранее")));
                }
                var result = emailConfirmationService.ValidateConfirmationCode(user, confirmEmailRequest.Code);
                if (result)
                {
                    var notificationSettingsRep = new Repository <NotificationSettings>(repository);
                    var notificationSettings    = new NotificationSettings {
                        DocumentReceived = true,
                        DocumentRejected = true,
                        DocumentRetired  = true,
                        DocumentSend     = true,
                        InviteSend       = true,
                        ProfileAdd       = true,
                        ProfileRemove    = true,
                        DocumentSign     = true,
                        User             = user
                    };
                    await notificationSettingsRep.InsertAsync(notificationSettings);

                    user.Confirmed = DateTime.Now;
                    repository.Update(user);
                    repository.Commit();
                }
                return(Json(ApiResponse.Success(result)));
            }
        }
 public EmailConfirmationController(IEmailConfirmationService emailConfirmation)
 {
     service = emailConfirmation;
 }
示例#27
0
 public UsersController(IUserService userService, IUploadService uploadService, IHostingEnvironment hostingEnvironment, IEmailConfirmationService emailConfirmationService, IStringLocalizer <UsersController> localizer)
 {
     _userService              = userService;
     _uploadService            = uploadService;
     _hostingEnvironment       = hostingEnvironment;
     _emailConfirmationService = emailConfirmationService;
     _localizer = localizer;
 }