public IActionResult ValidateAccessCode([FromBody] ValidateAccessCodeViewModel validateVerificationCodeViewModel) { var userFromDatabase = _userRepo.GetUserWithVerificationCode(validateVerificationCodeViewModel.UserName); if (userFromDatabase.VerificationCode.Code != validateVerificationCodeViewModel.AccessCode || userFromDatabase.VerificationCode.Code != "67140") { return(BadRequest()); } var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("Qas2ty9qqRuwekfg$ytty7j874&32iILOpqu@ayghqpyrbslid52abwtys%")); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken("https://google.com", "https://google.com", expires: DateTime.Now.AddMinutes(30), signingCredentials: creds); var userResult = new LoginUserResult { Id = userFromDatabase.Id, Token = new JwtSecurityTokenHandler().WriteToken(token), FirstName = userFromDatabase.FirstName, LastName = userFromDatabase.LastName, UserName = userFromDatabase.UserName, PhoneNumber = userFromDatabase.PhoneNumber }; return(Ok(userResult)); }
public async Task <IActionResult> Login([FromBody] LoginViewModel loginViewModel) { var result = await _signInManager.PasswordSignInAsync(loginViewModel.UserName, loginViewModel.Password, false, false); if (!result.Succeeded) { return(BadRequest()); } var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("Qas2ty9qqRuwekfg$ytty7j874&32iILOpqu@ayghqpyrbslid52abwtys%")); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken("https://google.com", "https://google.com", expires: DateTime.Now.AddMinutes(30), signingCredentials: creds); var savedUser = await _userManager.FindByNameAsync(loginViewModel.UserName); var userResult = new LoginUserResult { Id = savedUser.Id, Token = new JwtSecurityTokenHandler().WriteToken(token), FirstName = savedUser.FirstName, LastName = savedUser.LastName, UserName = savedUser.UserName, PhoneNumber = savedUser.PhoneNumber }; //Get the Notifications for the loggedin user var notifications = _notificationRepository.GetNotificationsByUserId(savedUser.Id); userResult.Notifications = notifications; return(Ok(userResult)); }
public LoginUserResult LogOn(string email, string password) { var result = new LoginUserResult(); result.Message = Resources.Interface.InvalidCredentials; if (string.IsNullOrWhiteSpace(email) || string.IsNullOrWhiteSpace(password)) { return(result); } try { var id = this._userManager.GetId(email); if (id == null) { return(result); } var name = this._userManager.GetName(id.Value); var validateResult = this._securityManager.ValidateUser(id.Value, password); this._dataSource.SaveChanges(); if (validateResult == ValidateUserResult.Valid) { this._cookieService.SetAuthCookie(email); StrixPlatform.Environment.StoreInSession(PlatformConstants.CURRENTUSEREMAIL, email); var user = this._userManager.Get(id.Value); this._userManager.UpdateLoggedInUser(user); result.Success = true; result.PreferredCulture = user.PreferredCulture; Logger.LogToAudit(AuditLogType.LoginLogout.ToString(), string.Format("User {0} logged in.", name)); } else { switch (validateResult) { case ValidateUserResult.LockedOut: { result.Message = Resources.Interface.LockedOut; } break; case ValidateUserResult.Unapproved: { result.Message = Resources.Interface.Unapproved; } break; case ValidateUserResult.NoRoles: { result.Message = Resources.Interface.UserHasNoRoles; } break; } Logger.LogToAudit(AuditLogType.LoginLogout.ToString(), string.Format("Login failed for user {0}. Status: {1}.", name, result.Message)); } } catch (Exception) { result.Message = Resources.Interface.ErrorValidatingAccount; } return(result); }