Google: Permission denied to generate login hint for target domain NOT on localhost

Google Admin-SdkGoogle Signin

Google Admin-Sdk Problem Overview


I am trying to create a Google sign-in and getting the error:

> Permission denied to generate login hint for target domain

Before you mark this a duplicate, this is not the same as the question asked at https://stackoverflow.com/questions/32041418/google-sign-in-website-error-permission-denied-to-generate-login-hint-for-targ because in that case the questioner was on localhost, whereas I am getting this error on the server.

Specifically, I have included the url of the server in the Authorized Javascript Origins, as in the following image: Javascript origins

and when I get the error, the request shows that the same url was sent, as in the following image: Invalid request page

Is there something else I should be putting in my Restrictions page? Is there any way to figure out what is going on here? Is there a log at the developer console that can tell me what is happening?

Google Admin-Sdk Solutions


Solution 1 - Google Admin-Sdk

Okay, I figured this out. I was using an IP address (as in "http://175.132.64.120";) for the redirect uri, as this was a test site on the live server, and Google only accepts actual urls (as in "http://mycompany.com" or "http://localhost";) as redirect uris.

Which, you know, THEY COULD HAVE SAID SOMEWHERE IN THE DOCUMENTATION, but whatever.

Solution 2 - Google Admin-Sdk

I know this is an old question, but it's the first result when you look for the problem via Google, so I'll share my solution with you guys.

When deploying Google OAuth service in a private network, namely some IP that can't be accessed via the Internet, you should use a magic DNS service, like xip.io that will give you an URL that your browser will resolve to your internal IP. You see, Google needs to be able to reach your authorized origin via your browser, that's why setting localhost works if you're serving it on your computer, but it won't work when you're deploying outside the Internet, as in a VPN, intranet, or with a tunnel.

So, the steps:

  1. get your IP address, the one you're deploying at and it's not a public domain, let's say it's 10.0.0.1 as an example.
  2. add http://10.0.0.1.xip.io to your Authorized Javascript Origins on the Google Developer Console.
  3. open your site by visiting http://10.0.0.1.xip.io
  4. clear your cache for the site, if necessary.
  5. Log in with Google, and voilà.

I got to this solution using this answer in another question.

Solution 3 - Google Admin-Sdk

If you are using http://127.0.0.1/projects/testplateform, change it into http://localhost/projects/testplateform, it will work just fine.

Solution 4 - Google Admin-Sdk

If you testing in your machine (locally). then dont use the IP address (i.e. http://127.0.0.1:8888) in the Client ID configuration , but use the local host instead and it should work

Example: http://localhost:8888

Solution 5 - Google Admin-Sdk

Just ran across this same issue on an external test server, without a DNS entry yet. If you have permission on your local machine just edit your /etc/hosts file:

175.132.64.120  www.jimboweb.com

And use use http://www.jimboweb.com as an authorized domain.

Solution 6 - Google Admin-Sdk

To allow ip address to be used as valid javascript origin, first add an entry in your /etc/hosts file

10.0.0.1 mydevserver.com

and then add this domain mydeveserver.com in Authorized Javascript Origins. If you are using some nonstandard port, then specify it with your domain in Authorized Javascript Origins.

enter image description here

Note: Remove your cache and it will work.

Solution 7 - Google Admin-Sdk

I have a server in private net, ip 172.16.X.X The problem was solved with app port ssh-forwarding to my localhost port. Now I am able to use deployed app with google oauth browsing to localhost.

ssh -N -L8081:localhost:8080 ${user}@${host}

I also add localhost:8081 to "Authorized URI redirect" and "Authorized JavaScript sources" in console.developers.google.com:

google developers console

Solution 8 - Google Admin-Sdk

After battling with it for a few hours, I found out that my config in the Google Cloud console was all correct and similar to the answers provided. Due to caching issues or something, I had to recreate a OAuth Client ID and then it suddenly started working.

Solution 9 - Google Admin-Sdk

install xampp and run apache server, put your files (index and co) in a folder in the xampp dir (c:\xampp\htdocs\yourfolder). Type this in your browser url - http://localhost/yourfolder/index.html

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionjimbowebView Question on Stackoverflow
Solution 1 - Google Admin-SdkjimbowebView Answer on Stackoverflow
Solution 2 - Google Admin-SdkfixmycodeView Answer on Stackoverflow
Solution 3 - Google Admin-SdkTgold brainView Answer on Stackoverflow
Solution 4 - Google Admin-SdkQais AmmariView Answer on Stackoverflow
Solution 5 - Google Admin-SdkEric BridgerView Answer on Stackoverflow
Solution 6 - Google Admin-SdkAbdul MannanView Answer on Stackoverflow
Solution 7 - Google Admin-SdkyeagorView Answer on Stackoverflow
Solution 8 - Google Admin-SdkEge ÇavuşoğluView Answer on Stackoverflow
Solution 9 - Google Admin-SdkO'seun IyadiView Answer on Stackoverflow