示例#1
0
        public async Task <bool> ForgetPassword(ForgetPasswordModel forgetPasswordModel)
        {
            var user = await this.userManager.FindByEmailAsync(forgetPasswordModel.EmailID);

            MSMQSender msmq = new MSMQSender();

            if (user != null)
            {
                var tokenDescriptor = new SecurityTokenDescriptor
                {
                    Subject = new ClaimsIdentity(new Claim[]
                    {
                        new Claim("EmailID", user.Email.ToString())
                    }),

                    Expires            = DateTime.UtcNow.AddDays(1),
                    SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(Encoding.UTF8.GetBytes(this.applicationSetting.JWTSecret)), SecurityAlgorithms.HmacSha256Signature)
                };

                var tokenHandler  = new JwtSecurityTokenHandler();
                var securityToken = tokenHandler.CreateToken(tokenDescriptor);
                var token         = tokenHandler.WriteToken(securityToken);

                msmq.SendToQueue(forgetPasswordModel.EmailID, token);
                return(true);
            }
            else
            {
                return(false);
            }
        }