public async Task <bool> RestorePasswor(RestorePasswordModel model) { if (!model.IsCompare()) { return(false); } var user = await GetByUserName(model.UserName);//GetFirst(m => m.UserName == model.UserName); if (user == null) { throw new CoreException("User Not Valid", 5); } if (!string.IsNullOrEmpty(model.Token)) { } if (CheckUserOtp(user, model.Otp)) { user.Password = RepositoryState.GetHashString(model.Password); } else { //4 Restore Password throw new CoreException("Error Otp", 4); } await Update(user); return(true); }
public virtual async Task <(LoginResult, TUser)> Login(string username, string password) { var user = _dbSet.Where(m => m.UserName == username && m.Password == RepositoryState.GetHashString(password)).FirstOrDefault(); if (user == null) { } return(Login(user), user); }
/// <summary> /// Set Refresh token for user /// </summary> /// <param name="user"></param> public void SetRefresh(TUser user) { var refresh = ""; var random = new Random(); for (var i = 0; i < 10; i++) { refresh += random.Next(15); } user.RefreshToken = RepositoryState.GetHashString(refresh); }
public async Task <bool> ChangePassword(TUser user, ChangePasswordModel model) { if (!model.IsCompare()) { throw new CoreException("Compare password is not valid", 3); } if (user.Password != RepositoryState.GetHashString(model.OldPassword)) { throw new CoreException(" Passwor is not valid", 2); } user.Password = RepositoryState.GetHashString(model.Password); await Update(user); return(true); }
public virtual async Task <bool> RegisterAsync(TUser model) { var user = await _dbSet.FirstOrDefaultAsync(m => m.UserName == model.UserName && m.Password == RepositoryState.GetHashString(model.Password)); if (user != null) { return(false); } model.Password = RepositoryState.GetHashString(model.Password); _dbSet.Add(model); _context.SaveChanges(); return(true); }
public virtual async Task <NetResult <SuccessResult> > ChangePassword([FromBody] ChangePasswordModel model) { try { SuccessResult result = new SuccessResult(); var user = _user.Get(this.UserId <TKey>()); if (RepositoryState.GetHashString(user.Password) == RepositoryState.GetHashString(model.OldPassword)) { result.Success = await _user.ChangePassword(user, model); } return(result); } catch (Exception ext) { return(ext); } }
public virtual async Task <ClaimsIdentity> LoginClaims(string username, string password) { var user = await _dbSet.FirstOrDefaultAsync(m => m.UserName == username && m.Password == RepositoryState.GetHashString(password)); if (user == null) { return(null); } _userRole.Where(m => m.UserId == user.Id); var clams = Claims(user); if (clams == null) { return(null); } var claimsIdentity = new ClaimsIdentity(clams, "Token", ClaimsIdentity.DefaultNameClaimType, ClaimsIdentity.DefaultRoleClaimType); return(claimsIdentity); }
public virtual async Task <(LoginResult, TUser)> Login(LoginViewModal model) { if (AuthOptions.SetNameAsPhone) { model.UserName = RepositoryState.ParsePhone(model.UserName); } var user = _dbSet.Where(m => (m.UserName == model.UserName || m.Email == model.UserName) && m.Password == RepositoryState.GetHashString(model.Password)).FirstOrDefault(); if (user == null) { throw new CoreException("User Name or Password not Found", 7); } if (AuthOptions.CheckDeviceId) { if (user.CheckDevice(model.DeviceId)) { user.ChangeLastIncome(model.DeviceId); return(Login(user), user); } user.ShouldSendOtp = true; //TODO return(null, user); } return(Login(user), user); }
public TUser CheckUserByUserName(string userName, string Password) { return(_dbSet.FirstOrDefault(m => m.UserName == userName && m.Password == RepositoryState.GetHashString(Password))); }
public virtual async Task <(LoginResult, TUser)> Login(LoginViewModal model) { var user = _dbSet.Where(m => m.UserName == model.UserName && m.Password == RepositoryState.GetHashString(model.Password)).FirstOrDefault(); if (user == null) { return(null, null); } if (AuthOptions.CheckDeviceId) { if (user.DeviceList.Contains(model.DeviceId)) { return(Login(user), user); } return(null, user); } return(Login(user), user); /* * if (user.DeviceList.Contains(model.DeviceId) && AuthOptions.CheckDeviceId) * { * return (Login(user), user); * } * return (null, user);*/ }