示例#1
0
        public async Task SendPasswordResetCode(SendPasswordResetCodeInput input)
        {
            var user = await GetUserByChecking(input.EmailAddress);

            user.SetNewPasswordResetCode();
            await _userEmailer.SendPasswordResetLinkAsync(
                user,
                AppUrlService.CreatePasswordResetUrlFormat(AbpSession.TenantId)
                );
        }
示例#2
0
        public async Task SendPasswordResetCode(SendPasswordResetCodeInput input)
        {
            var user = await UserManager.FindByEmailAsync(input.EmailAddress);

            if (user == null)
            {
                throw new UserFriendlyException(L("InvalidEmailAddress"));
            }

            user.SetNewPasswordResetCode();
            throw new UserFriendlyException("等待完善的短信验证码功能");

            // TODO: 发送短信验证码
        }
        public async Task SendPasswordResetCode(SendPasswordResetCodeInput input)
        {
            var user = await UserManager.FindByEmailAsync(input.EmailAddress);

            if (user == null)
            {
                throw new UserFriendlyException("User not found!");
            }

            user.SetNewPasswordResetCode();

            //Send an email to user with the below password reset code
            /* Uri.EscapeDataString(user.PasswordResetCode) */
        }
        public async Task SendPasswordResetCode_Test(string phone)
        {
            var input = new SendPasswordResetCodeInput()
            {
                PhoneNumber = phone
            };

            await _usersAppService.SendPasswordResetCode(input);

            var user = UsingDbContext(context => context.Users.FirstOrDefault(p => p.PhoneNumber == phone));

            var reseInput = new ResetPasswordInput()
            {
                UserId    = user.Id,
                ResetCode = user.PasswordResetCode,
                Password  = "******"
            };
            var reseUser = await _usersAppService.ResetPassword(reseInput);

            reseUser.ShouldNotBeNull();
        }
        /// <summary>
        /// 发送密码重置Code
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task SendPasswordResetCode(SendPasswordResetCodeInput input)
        {
            var user = await UserManager.FindByEmailAsync(input.EmailAddress);

            if (user == null)
            {
                throw new UserFriendlyException(L("InvalidEmailAddress"));
            }

            user.SetNewPasswordResetCode();
            user.Name     = user.UserName + "假";
            user.Surname += "假";

            await _userEmailer.SendPasswordResetLinkAsync(
                user, input.link


                );

            // TODO: 发送短信验证码
        }
示例#6
0
        /// <summary>
        /// 设置重置验证码
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <SendPasswordResetCodeOutput> SendPasswordResetCode(SendPasswordResetCodeInput input)
        {
            var user = await GetUserByChecking(input.UserName);

            //if (user.PhoneNumber!=input.PhoneOrEmail&&user.EmailAddress!=input.PhoneOrEmail)
            //{

            //    throw new UserFriendlyException("邮箱或手机号码不正确", "邮箱或手机号码不正确");
            //}
            if (input.PhoneOrEmail.Contains("@"))
            {
                user.EmailAddress = input.PhoneOrEmail;
            }
            else
            {
                user.PhoneNumber = input.PhoneOrEmail;
            }

            user.PasswordResetCode = input.ResetCode;
            await UserManager.UpdateAsync(user);

            return(ObjectMapper.Map <SendPasswordResetCodeOutput>(user));
        }
        public async Task SendEmailAddressConfirmCode(SendPasswordResetCodeInput input)
        {
            var emailCache = _cacheManager.GetCache(input.EmailAddress);



            var cacheCode = await emailCache
                            .AsTyped <string, string>()
                            .GetOrDefaultAsync(input.EmailAddress);

            if (string.IsNullOrWhiteSpace(cacheCode))
            {
                var code = RandomHelper.GetRandom(10000, 99999).ToString();
                emailCache.DefaultAbsoluteExpireTime = TimeSpan.FromMinutes(3);
                // 存值,过期时间3分钟
                await emailCache.SetAsync(input.EmailAddress, code.ToString());

                await _userEmailer.SendEmailAddressConfirmCode(input.EmailAddress, code.ToString());
            }
            else
            {
                throw new UserFriendlyException(222, "请检查邮箱中的验证码,有效期3分钟,可能进入垃圾箱了。");
            }
        }
示例#8
0
 public async Task SendPasswordResetCode(SendPasswordResetCodeInput input)
 {
     await ApiClient.PostAnonymousAsync(GetEndpoint(nameof(SendPasswordResetCode)), input);
 }
示例#9
0
        public async Task SendPasswordResetCode(SendPasswordResetCodeInput input)
        {
            var user = await GetUserByChecking(input.EmailAddress);

            user.SetNewPasswordResetCode();
        }