Refreshing Token since 2fa doesn't work (504 gateway timeout) 
# Bug Report

### Describe the Bug
trying to generate a new token since implementing 2fa to the ring platform.

When either clicking "refresh token" in homebrdige UI, or using the `ring-auth-api` I get the following error:

```
ubuntu@pi4:~$ ring-auth-cli 
This CLI will provide you with a refresh token which you can use to configure ring-client-api and homebridge-ring.
Email: email@domain.com
Password: hunter2
TypeError: Cannot use 'in' operator to search for 'error' in <!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en-US"> <![endif]-->
<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en-US"> <![endif]-->
<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en-US"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en-US"> <!--<![endif]-->
<head>
<meta http-equiv="refresh" content="0">

<title>oauth.ring.com | 504: Gateway time-out</title>
<meta charset="UTF-8" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />
<meta name="robots" content="noindex, nofollow" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<link rel="stylesheet" id="cf_styles-css" href="/cdn-cgi/styles/main.css" type="text/css" media="screen,projection" />


</head>
<body>
<div id="cf-wrapper">

    

    <div id="cf-error-details" class="p-0">
        <header class="mx-auto pt-10 lg:pt-6 lg:px-8 w-240 lg:w-full mb-8">
            <h1 class="inline-block sm:block sm:mb-2 font-light text-60 lg:text-4xl text-black-dark leading-tight mr-2">
              
              <span class="cf-error-type">Error</span>
              <span class="cf-error-code">504</span>
            </h1>
            <span class="inline-block sm:block font-mono text-15 lg:text-sm lg:leading-relaxed">Ray ID: 67af2297fcee62de &bull;</span>
            <span class="inline-block sm:block font-mono text-15 lg:text-sm lg:leading-relaxed">2021-08-07 08:29:04 UTC</span>
            <h2 class="text-gray-600 leading-1.3 text-3xl font-light">Gateway time-out</h2>
        </header>
        
        <div class="my-8 bg-gradient-gray">
            <div class="w-240 lg:w-full mx-auto">
                <div class="clearfix md:px-8">
                  
<div id="cf-browser-status" class=" relative w-1/3 md:w-full py-15 md:p-0 md:py-8 md:text-left md:border-solid md:border-0 md:border-b md:border-gray-400 overflow-hidden float-left md:float-none text-center">
  <div class="relative mb-10 md:m-0">
    <span class="cf-icon-browser block md:hidden h-20 bg-center bg-no-repeat"></span>
    <span class="cf-icon-ok w-12 h-12 absolute left-1/2 md:left-auto md:right-0 md:top-0 -ml-6 -bottom-4"></span>
  </div>
  <span class="md:block w-full truncate">You</span>
  <h3 class="md:inline-block mt-3 md:mt-0 text-2xl text-gray-600 font-light leading-1.3">Browser</h3>
  <span class="leading-1.3 text-2xl text-green-success">Working</span>
</div>

<div id="cf-cloudflare-status" class=" relative w-1/3 md:w-full py-15 md:p-0 md:py-8 md:text-left md:border-solid md:border-0 md:border-b md:border-gray-400 overflow-hidden float-left md:float-none text-center">
  <div class="relative mb-10 md:m-0">
    <span class="cf-icon-cloud block md:hidden h-20 bg-center bg-no-repeat"></span>
    <span class="cf-icon-ok w-12 h-12 absolute left-1/2 md:left-auto md:right-0 md:top-0 -ml-6 -bottom-4"></span>
  </div>
  <span class="md:block w-full truncate">Sydney</span>
  <h3 class="md:inline-block mt-3 md:mt-0 text-2xl text-gray-600 font-light leading-1.3">Cloudflare</h3>
  <span class="leading-1.3 text-2xl text-green-success">Working</span>
</div>

<div id="cf-host-status" class="cf-error-source relative w-1/3 md:w-full py-15 md:p-0 md:py-8 md:text-left md:border-solid md:border-0 md:border-b md:border-gray-400 overflow-hidden float-left md:float-none text-center">
  <div class="relative mb-10 md:m-0">
    <span class="cf-icon-server block md:hidden h-20 bg-center bg-no-repeat"></span>
    <span class="cf-icon-error w-12 h-12 absolute left-1/2 md:left-auto md:right-0 md:top-0 -ml-6 -bottom-4"></span>
  </div>
  <span class="md:block w-full truncate">oauth.ring.com</span>
  <h3 class="md:inline-block mt-3 md:mt-0 text-2xl text-gray-600 font-light leading-1.3">Host</h3>
  <span class="leading-1.3 text-2xl text-red-error">Error</span>
</div>

                </div>
              
            </div>
        </div>

        <div class="w-240 lg:w-full mx-auto mb-8 lg:px-8">
            <div class="clearfix">
                <div class="w-1/2 md:w-full float-left pr-6 md:pb-10 md:pr-0 leading-relaxed">
                    <h2 class="text-3xl font-normal leading-1.3 mb-4">What happened?</h2>
                    <p>The web server reported a gateway time-out error.</p>
                </div>
              
                <div class="w-1/2 md:w-full float-left leading-relaxed">
                    <h2 class="text-3xl font-normal leading-1.3 mb-4">What can I do?</h2>
                    <p class="mb-6">Please try again in a few minutes.</p>
                </div>
            </div>
              
        </div>

        <div class="cf-error-footer cf-wrapper w-240 lg:w-full py-10 sm:py-4 sm:px-8 mx-auto text-center sm:text-left border-solid border-0 border-t border-gray-300">
  <p class="text-13">
    <span class="cf-footer-item sm:block sm:mb-1">Cloudflare Ray ID: <strong class="font-semibold">67af2297fcee62de</strong></span>
    <span class="cf-footer-separator sm:hidden">&bull;</span>
    <span class="cf-footer-item sm:block sm:mb-1"><span>Your IP</span>: 202.x.x.x</span>
    <span class="cf-footer-separator sm:hidden">&bull;</span>
    <span class="cf-footer-item sm:block sm:mb-1"><span>Performance &amp; security by</span> <a rel="noopener noreferrer" href="https://www.cloudflare.com/5xx-error-landing" id="brand_link" target="_blank">Cloudflare</a></span>
    
  </p>
</div><!-- /.error-footer -->


    </div>
</div>
</body>
</html>


    at RingRestClient.<anonymous> (/usr/lib/node_modules/homebridge-ring/lib/api/rest-client.js:123:123)
    at Generator.throw (<anonymous>)
    at rejected (/usr/lib/node_modules/homebridge-ring/lib/api/rest-client.js:6:65)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
ubuntu@pi4:~$ 
```


### To Reproduce
Steps to reproduce the behavior:
 - Start Homebridge
 - checked logs, tried to refresh token through either the UI or the CLI.
 - See error

### Expected behavior
get a token returned


### Screenshots/Logs
<!-- ✍️edit: --> If applicable, add screenshots and log output to help explain your problem.

### Additional context
Here is the error I get when restarting homebridge.

```
[8/7/2021, 6:15:10 PM] [Ring] HTTPError: Response code 504 (Gateway Timeout)
    at Request.<anonymous> (/usr/lib/node_modules/homebridge-ring/node_modules/got/dist/source/as-promise/index.js:117:42)
    at processTicksAndRejections (internal/process/task_queues.js:95:5) {
  code: undefined,
  timings: {
    start: 1628324109653,
    socket: 1628324109718,
    lookup: undefined,
    connect: undefined,
    secureConnect: undefined,
    upload: 1628324109721,
    response: 1628324109983,
    end: 1628324109994,
    error: undefined,
    abort: undefined,
    phases: {
      wait: 65,
      dns: undefined,
      tcp: undefined,
      tls: undefined,
      request: NaN,
      firstByte: 262,
      download: 11,
      total: 341
    }
  }
}
[8/7/2021, 6:15:10 PM] [Ring] Request to https://api.ring.com/devices/v1/locations failed:
[8/7/2021, 6:15:10 PM] [Ring] Error: Refresh token is not valid.  Unable to authenticate with Ring servers.  See https://github.com/dgreif/ring/wiki/Refresh-Tokens
    at RingRestClient.getGrantData (/usr/lib/node_modules/homebridge-ring/lib/api/rest-client.js:93:15)
    at RingRestClient.<anonymous> (/usr/lib/node_modules/homebridge-ring/lib/api/rest-client.js:97:36)
    at Generator.next (<anonymous>)
    at /usr/lib/node_modules/homebridge-ring/lib/api/rest-client.js:8:71
    at new Promise (<anonymous>)
    at __awaiter (/usr/lib/node_modules/homebridge-ring/lib/api/rest-client.js:4:12)
    at RingRestClient.getAuth (/usr/lib/node_modules/homebridge-ring/lib/api/rest-client.js:96:16)
    at RingRestClient.<anonymous> (/usr/lib/node_modules/homebridge-ring/lib/api/rest-client.js:121:33)
    at Generator.throw (<anonymous>)
    at rejected (/usr/lib/node_modules/homebridge-ring/lib/api/rest-client.js:6:65)
[8/7/2021, 6:15:10 PM] [Ring] Error connecting to API
[8/7/2021, 6:15:10 PM] [Ring] Error: Refresh token is not valid.  Unable to authenticate with Ring servers.  See https://github.com/dgreif/ring/wiki/Refresh-Tokens
    at RingRestClient.getGrantData (/usr/lib/node_modules/homebridge-ring/lib/api/rest-client.js:93:15)
    at RingRestClient.<anonymous> (/usr/lib/node_modules/homebridge-ring/lib/api/rest-client.js:97:36)
    at Generator.next (<anonymous>)
    at /usr/lib/node_modules/homebridge-ring/lib/api/rest-client.js:8:71
    at new Promise (<anonymous>)
    at __awaiter (/usr/lib/node_modules/homebridge-ring/lib/api/rest-client.js:4:12)
    at RingRestClient.getAuth (/usr/lib/node_modules/homebridge-ring/lib/api/rest-client.js:96:16)
    at RingRestClient.<anonymous> (/usr/lib/node_modules/homebridge-ring/lib/api/rest-client.js:121:33)
    at Generator.throw (<anonymous>)
    at rejected (/usr/lib/node_modules/homebridge-ring/lib/api/rest-client.js:6:65)

```
### Homebridge Ring Config
Post homebridge-ring platform config  _without sensitive information_
```
        {
            "refreshToken": "eyJhbGciOiJIUzUxMiIsImprdSI6Ii9vYXV0aC9pbnRlcm5hbC9q",
            "hideDoorbellSwitch": true,
            "hideCameraSirenSwitch": true,
            "hideInHomeDoorbellSwitch": true,
            "hideAlarmSirenSwitch": true,
            "platform": "Ring"
        }
```

### Environment
<!-- ✍️edit: -->
 - OS: Ubuntu 20.04.2 LTS on raspberrypi4
 - Node.js: v14.17.4
 - NPM: 6.14.14
 - homebridge-ring: 9.20.00
 - homebridge: 1.3.4
 - HOOBS: NA
