/// <summary> /// Attempt to log in to the game server (could be lan or other) /// </summary> /// <param name="username">An account name</param> /// <param name="password">A password which should be transmitted using TLS. The server will receive the password and calculate its hash.</param> public static void DoLogin(string username, string password) { var ctr = new CredentialsContainer(username, password); _gameStatus = GameStatus.LoggingIn; connection.SendAsync("GetAccessToken", ctr); }
public async Task GetAccessToken(CredentialsContainer ctr) { if (_authService.TryLoginCredentials(ctr.Username, ctr.Password)) { AccessToken token = _authService.CreateGameplayToken(ctr.Username); var result = new GetAccessTokenResult(); result.Error = null; result.Success = true; result.Token = token; await Clients.Caller.ReceiveAccessTokenResult(result); } else { var result = new GetAccessTokenResult(); result.Error = new ErrorFromServer("Could not verify credentials."); result.Success = false; result.Token = null; await Clients.Caller.ReceiveAccessTokenResult(result); } }