Example #1
0
        public async Task <ResultData> CheckToken([FromUri] string token)
        {
            ResultData oResultData = new ResultData();

            try
            {
                //Kiểm tra key có tồn tại và đã hết thời gian kích hoạt chưa
                if (!string.IsNullOrWhiteSpace(token) && MemoryCacheHelper.HasExitsKey(token))
                {
                    string          userName = Convert.ToString(MemoryCacheHelper.GetValue(token));
                    ApplicationUser user     = UserManager.FindByName <ApplicationUser, string>(userName);
                    if (user != null)
                    {
                        oResultData.Success = true;
                    }
                    else
                    {
                        oResultData.Success = false;
                    }
                }
                else
                {
                    oResultData.Success      = false;
                    oResultData.ErrorMessage = MT.Resources.GlobalResource.ErrorExpriedActiveLink;
                }
            }
            catch (Exception ex)
            {
                oResultData.SetError(ex);
            }
            return(oResultData);
        }
Example #2
0
        public async Task <ResultData> Active([FromUri] string token)
        {
            ResultData oResultData = new ResultData();

            try
            {
                //Kiểm tra key có tồn tại và đã hết thời gian kích hoạt chưa
                if (!string.IsNullOrWhiteSpace(token) && MemoryCacheHelper.HasExitsKey(token))
                {
                    string          userName = Convert.ToString(MemoryCacheHelper.GetValue(token));
                    ApplicationUser user     = UserManager.FindByName <ApplicationUser, string>(userName);
                    if (user != null)
                    {
                        string code = await UserManager.GeneratePasswordResetTokenAsync(user.Id);

                        string passWordGenerate = MT.Library.CommonFunction.RandomPassword();

                        var result = await UserManager.ResetPasswordAsync(user.Id, code, passWordGenerate);

                        if (result.Succeeded)
                        {
                            MemoryCacheHelper.Delete(token);
                            string hostName = MT.Library.CommonFunction.GetDomainBEcore();

                            string pathEmail       = MT.Library.CommonFunction.GetMapPathEmail();
                            var    destinationPath = Path.Combine(pathEmail, "ActivePassword.html");
                            string strBody         = MT.Library.CommonFunction.ReadData(destinationPath);

                            strBody = strBody.Replace("#Link#", hostName);

                            strBody = strBody.Replace("#PassWord#", passWordGenerate);

                            //Gửi mail kích hoạt tài khoản
                            EmailUltility.SendMail(user.Email, "", MT.Resources.GlobalResource.Title_SendLinkActive, strBody, null);

                            oResultData.Success = true;
                        }
                        else
                        {
                            oResultData.Success = false;
                        }
                    }
                }
                else
                {
                    oResultData.Success      = false;
                    oResultData.ErrorMessage = MT.Resources.GlobalResource.ErrorExpriedActiveLink;
                }
            }
            catch (Exception ex)
            {
                oResultData.SetError(ex);
            }
            return(oResultData);
        }