void ValidateRequest(SteamAccountRequest request, User user) { bool isTokenValid = requestHmacEncoder.IsTokenValid(request.HmacToken, request, user.SharedSecretKey); if (!isTokenValid) { throw new AuthenticationException("The provided HMAC token is not valid"); } }
public SteamAccountResponse GetAccount(SteamAccountRequest request) { User user = userRepository.Get(request.Username).ToServiceModel(); ValidateRequest(request, user); SteamAccount assignedAccount = GetAssignedAccount(user, request.GiveawaysProvider); SteamAccountResponse response = CreateResponse(user, assignedAccount); return(response); }
public ActionResult <SteamAccountResponse> GetAccount( string username, [FromQuery] string gaProvider, [FromQuery] string hmac) { try { SteamAccountRequest request = new SteamAccountRequest { Username = username, GiveawaysProvider = gaProvider, HmacToken = hmac }; return(service.GetAccount(request)); } catch (Exception ex) { ErrorResponse response = new ErrorResponse(ex); return(BadRequest(response)); } }