public async Task <JsonResult> AuthenticateUser([FromBody] AuthenticateUserRequest request) { if (request == null) { throw new ArgumentNullException($"Request {nameof(request)} should be not null."); } try { var player = await _playerService.AuthenticateUserAsync(request.Name); var response = new AuthenticateUserResponse { Token = player.Token, Reward = player.Reward, Scores = player.Scores }; return(this.JsonApi(response)); } catch (PlayerException exception) { return(this.JsonApi(exception)); } }