Search code examples
javascriptgoogle-signingooglesigninaccount

google sign-in Storagerelay URI is not allowed for 'NATIVE' client type


I have been trying this simple google sign-in by following this tutorials:

The code is very simple and I'm exactly following the same steps as given in these tutorials, but I end up in the below error.


400. That’s an error.

Error: invalid_request

Storagerelay URI is not allowed for 'NATIVE' client type

Storagerelay URI is not allowed for 'NATIVE'

In my credentials I have the configuration like below:

credentials configuration

My Code goes like below:

<meta name="google-signin-client_id" content="377345478968-2opk94iompa38gja0stu1vi821lr3rt0.apps.googleusercontent.com">
<script src="https://apis.google.com/js/client:platform.js?onload=renderButton" async defer></script>

<div id="gSignIn"></div>


function onSuccess(googleUser) {
    var profile = googleUser.getBasicProfile();
    gapi.client.load('plus', 'v2', function () {
        var request = gapi.client.plus.people.get({
            'userId': 'me'
        });
        //Display the user details
        request.execute(function (resp) {
            console.log(resp);
        });
    });
}
function onFailure(error) {
    alert(error);
}
function renderButton() {
    gapi.signin2.render('gSignIn', {
        'scope': 'profile email',
        'width': 240,
        'height': 50,
        'longtitle': true,
        'theme': 'dark',
        'onsuccess': onSuccess,
        'onfailure': onFailure
    });
}
function signOut() {
    var auth2 = gapi.auth2.getAuthInstance();
    auth2.signOut().then(function () {
        $('.userContent').html('');
        $('#gSignIn').slideDown('slow');
    });
}

Every time when I click "Sign in with Google" button, new pop-up opens and 400 error throws up.

I also tried growing throw these answers in stackoverflow, but now luck.

  1. Google OAuth 2 authorization - Error: redirect_uri_mismatch
  2. Google Sign-in is not working

My Basic idea is to integrate sign in with google for my web-app, as said in this video, let me know whether this approach is good.


Solution

  • It's because you haven't set up your OAuth 2.0 credentials for a Web Application. You may have specified the application type as "Other" when creating the credentials. I was facing the exactly same problem but then I changed my OAuth 2.0 credentials to a Web Application, and now it's working perfectly.