actions-on-googlegoogle-home

Google Home oAuth page blank in Beta/Production but works fine in Alpha


We have created a Google Home Action and it works perfectly in Alpha. It passes all the tests and the oauth works.

However when we try and release to production the have been rejected the past 4 times because the "oAuth page is blank".

I've now reduced the oAuth screen to the most simple html, no javascript, limited css, and we have still been rejected.

The Google Home Actions team lack the ability to share any logs or errors and we cannot find any issues when checking the server logs. Can anyone suggest any way of debugging this issue?

Here is the html of the oauth page:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <title>Link COMPANY NAME to Google</title>
    <style>
        body {
            padding: 40px;
            margin: auto;
            font-family: Arial;
            text-align: start;
        }

        .header {
            padding: 8px;
            text-align: center;
        }

        /* .contentHeader {
            text-align: center;
        } */

        .instructions {
            text-align: center;
            margin: auto;
            align-items: start;
        }

        .text_form {
            text-align: center;
            margin: auto;
            align-items: start;
        }

        .submit {
            background-color: rgb(0, 51, 255);
            padding: 12px 24px;
            margin: 4px;
            border: none;
            color: white;
            font-weight: bold;
        }
    </style>
</head>

<body>
    <div class="header">
        <div class="brandingLogo"><img src="/COMPANY-logo.png" /></div>
    </div>
    <div class="content">
        <div class="instructions">
            <p>By entering the pin, you are authorizing Google to control your devices.</p>
        </div>
        <div class="text_form">
            <form action="/oauth" method="post">
                <label for="text">Enter pin:</label>
                <input type="text" id="text" name="text">
                <input type="hidden" name="redirect_uri" value="${url}">
                <input type="hidden" name="state" value="${state}">
                <br></br>
                <input type="submit" class="submit" value="Agree and link">
            </form>
        </div>
</body>

</html>

Our express CORS settings are as follows:

app.use(cors({
    origin: '*'
}));

Can anyone help?


Solution

  • After a few weeks of delay our Action was published without any changes. I honestly think there was an internal process failure.