public void SignUp( string userId, string userLogin, string userDisplayName, string userEmail, string password) { try { var user = gameData.GetUser(userId); if (user == null) { return; } if (!string.IsNullOrEmpty(user.PasswordHash)) { return; } user.DisplayName = userDisplayName; user.UserName = userLogin; user.Email = userEmail; user.PasswordHash = secureHash.Get(password); gameData.Flush(); } catch (Exception exc) { logger.LogError($"Error saving user data for '{userDisplayName} ({userId})'! (EXCEPTION): " + exc); } }
public async Task <bool> SetPasswordAsync(CreatePassword model) { if (model == null || string.IsNullOrWhiteSpace(model.Password)) { return(false); } var sessionId = Context.GetSessionId(); if (!sessionInfoProvider.TryGet(sessionId, out var session)) { return(false); } var user = gameData.GetUser(session.AccountId); if (user == null) { return(false); } session.RequiresPasswordChange = false; user.PasswordHash = hasher.Get(model.Password); return(true); }
protected void AssertAuthTokenValidity(AuthToken authToken, [CallerMemberName] string callingMethod = null) { string errorMessage = null; if (authToken == null || string.IsNullOrEmpty(authToken.Token)) { errorMessage = "Auth token cannot be null."; } else if (authToken.UserId == Guid.Empty) { errorMessage = "UserId cannot be null."; } else if (authToken.Expired) { errorMessage = "Auth token has expired."; } else if (authToken.Token != secureHasher.Get(authToken)) { errorMessage = "Auth token did not match expected value."; } if (!string.IsNullOrEmpty(errorMessage)) { var authTokenJson = authToken != null?Newtonsoft.Json.JsonConvert.SerializeObject(authToken) : "{}"; logger.LogError(callingMethod + "->AssertAuthTokenValidity failed on request with error: " + errorMessage + ". " + authTokenJson); throw new Exception(errorMessage); } }
public async Task SignUpAsync( string userId, string userLogin, string userDisplayName, string userEmail, string password) { try { using (var db = ctxProvider.Get()) { var user = await db.User .FirstOrDefaultAsync(x => x.UserId.Equals(userId, StringComparison.OrdinalIgnoreCase)); if (user == null) { return; } if (!string.IsNullOrEmpty(user.PasswordHash)) { return; } user.DisplayName = userDisplayName; user.UserName = userLogin; user.Email = userEmail; user.PasswordHash = secureHash.Get(password); db.Update(user); await db.SaveChangesAsync(); } } catch (Exception exc) { await logger.WriteErrorAsync( $"Error saving user data for '{userDisplayName} ({userId})'! (EXCEPTION): " + exc); } }
public bool SetPassword(string username, string newPassword) { if (string.IsNullOrWhiteSpace(newPassword)) { return(false); } var user = gameData.GetUserByUsername(username); if (user == null) { return(false); } user.PasswordHash = secureHasher.Get(newPassword.Trim()); return(true); }
private void AssertAuthTokenValidity(AuthToken authToken) { if (authToken == null) { throw new NullReferenceException(nameof(authToken)); } if (authToken.UserId == Guid.Empty) { throw new NullReferenceException(nameof(authToken.UserId)); } if (authToken.Expired) { throw new Exception("Session has expired."); } if (string.IsNullOrEmpty(authToken.Token)) { throw new Exception("Session has expired."); } if (authToken.Token != secureHasher.Get(authToken)) { throw new Exception("Session has expired."); } }