// This methods verifies an authToken with the WebServiceAPI to confirm user identity private async Task <string> HandlePlayerAuthentication(IHttpClientFactory httpFactory, string authToken) { var request = new HttpRequestMessage(HttpMethod.Get, _config["AppSettings:AuthApiEndpoint"]); request.Headers.Add("Authorization", $"Bearer {authToken}"); request.Headers.Add("User-Agent", "DarkeningAge-GameServer"); using (HttpClient client = httpFactory.CreateClient()) using (HttpResponseMessage response = await client.SendAsync(request)) { if (response.IsSuccessStatusCode) { using (HttpContent content = response.Content) { AuthDataResponse data = JsonConvert.DeserializeObject <AuthDataResponse>( await content.ReadAsStringAsync()); return(data.username); } } else { return(null); } } }
public AuthDataResponse Passthrough(string g_user_id) { var user = _userController.Select("where g_user_id='@0' or u_logon_name ='@0'", g_user_id)?.FirstOrDefault(); if (user == null) { return(new AuthDataResponse { Success = false, Message = "Invalid user identifier.", }); } var roles = _userRolesController.Select("where UserID=@0", user.g_user_id).ToList(); if (!roles.Any()) { user.Roles = new Role[1]; user.Roles[0] = new Role { RoleID = 1, RoleName = "Users" }; } else { user.Roles = _roleController.Select($"where RoleID in ({string.Join(",", roles.Select(r => r.RoleId).ToArray())})").ToArray(); } var result = new AuthDataResponse(user) { Success = true }; result.Message = result.AuthResult.User.PwdExpired ? "Your password has expired." : ArizonaConstants.SUCCESS; return(result); }
public AuthDataResponse Login(string username, string pwd) { var user = _userController.Select("where u_logon_name=@0 and u_user_security_password = @1", username, pwd)?.FirstOrDefault(); if (user == null) { return(new AuthDataResponse { Success = false, Message = "Invalid username or password.", }); } var roles = _userRolesController.Select("where UserID=@0", user.g_user_id).ToList(); if (!roles.Any()) { user.Roles = new Role[1]; user.Roles[0] = new Role { RoleID = 1, RoleName = "Users" }; } else { user.Roles = _roleController.Select($"where RoleID in ({string.Join(",", roles.Select(r => r.RoleId).ToArray())})").ToArray(); } var result = new AuthDataResponse(user) { Success = true }; result.Message = result.AuthResult.User.PwdExpired ? "Your password has expired." : BlueConstants.SUCCESS; return(result); }