title: dotnet core paypal GetAccessToken returns 401 for live, but works on sandbox
body: <p>trying to go live with paypal on a asp.net core website, but I'm unable to get an access token, I keep getting  PayPal.HttpException: The remote server returned an error: (401) Unauthorized.</p>
  
  <p>here's the problematic code section:</p>
  
  <pre><code>        Dictionary&lt;string, string&gt; configurationMap = new Dictionary&lt;string, string&gt;();
          configurationMap.Add("clientId", _options.PayPalClientId);
          configurationMap.Add("clientSecret", _options.PayPalClientSecret);
          configurationMap.Add("mode", _options.PayPalMode);
  
          _logger.Info($"paypal data: mode={_options.PayPalMode}, client id={_options.PayPalClientId}");
          var accessToken = new OAuthTokenCredential(_options.PayPalClientId, _options.PayPalClientSecret, configurationMap).GetAccessToken();
          var apiContext = new APIContext(accessToken) { Config = configurationMap };
  </code></pre>
  
  <p>the nuget packages I use are:</p>
  
  <pre><code>&lt;PackageReference Include="PayPal" Version="2.0.0-rc2"/&gt;
  &lt;PackageReference Include="PayPalCore" Version="1.0.0"/&gt;
  </code></pre>
  
  <p>looking at log to make sure the mode=live and the clientId is the the live one (so I'm sure the secret was also loaded correctly).</p>
  
  <p>this code works fine on my workstation and on my dev server (running IIS &amp; kestrel), using the sandbox clientId/secret.
  however, on the production server in AWS, I get this error.
  running postman on the AWS windows server to make sure it can communicate with paypal's api works, I can get the accesstoken, so it's not a firewall issue.</p>
  
  <p>any other leads?</p>