public TokenReadModel GetToken(string authCode) { var tokenUrl = ConfigurationManager.AppSettings["StravaTokenUrl"]; var secret = _secretRepository.GetStravaSecret(); _restClient.BaseUrl = new Uri(tokenUrl); var request = new RestRequest(tokenUrl, Method.POST); request.AddParameter("application/x-www-form-urlencoded", $"code={authCode}&client_id={secret.ClientId}&client_secret={secret.ClientSecret}", ParameterType.RequestBody); var response = _restClient.Execute <TokenReadModel>(request); if (!response.IsSuccessful) { throw new Exception("Failed to retrieve Identity Token."); } return(response.Data); }