When I use to run either command:
gcloud auth application-default login
OR for a specific docker container
docker exec -it 822c4c491383 /home/astro/google-cloud-sdk/bin/gcloud auth application-default login
.
My command line would give me a link to a google response page where I’d copy the code they gave me and write it in the command line.
For some reason now, whenever I try to do either command I’m getting the follow error, saying I don’t have access to web browser.
You are authorizing client libraries without access to a web browser. Please run the following command on a machine with a web browser and
copy its output back here. Make sure the installed gcloud version is
372.0.0 or newer.gcloud auth application-default login –remote-bootstrap="https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=764086051850-6qr4p6gpi6hn506pt8ejuq83di341hur.apps.googleusercontent.com&scope=openid+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Faccounts.reauth&state=FmMFY6gvpOa9xndMXmWiNG3W1jDrCe&access_type=offline&code_challenge=zUI4n_pnYE5V7p0diDQLmL0X0Sk8XpTDzhz_vwtukOo&code_challenge_method=S256&token_usage=remote"
I’ve tried copying the link that’s inside of this and place it in my web browser but I get a page saying.
Error 400: invalid request Missing required parameter: redirect uri
Edit: Though not sure why this is happening now, I added the option "–no-launch-browser" to the end of both commands and it gives me the link to place in my browser now manually and copy code.
4
Answers
Because the redirect uri does not contain the whole URL, this can happen. This can be fixed by adjusting the Custom URL Base.
The result will look like this:
https://my_company_artifactory:444/artifactory
You should also double-check that the Custom URL Base and
/api/oauth2/loginResponse
are included in your Google OAuth settings page’s Authorized redirect URIs.Reviewing for more information, you can add your localhost URL to the redirect URL, it would say it’s not possible at this time. When setting the redirect URL before hitting the create button, it accepts it just fine.
Use
gcloud init --console-only
On versions of
gcloud >= 383.0.0
(26 Apr 2022), Google have removed support for the--console-only
and--no-launch-browser
flags on their CLI. As far as I can see, they do not give a reason for this, but it is likely security related.The new intended method for authenticating on a machine without a web browser, is to use the
--no-browser
flag and copy the command it gives you onto a machine that has bothgcloud >= 372.0
and a web browser installed. In other words, it is no longer possible to do this purely on a machine with no browser. See the following steps copied directly from their documentation:"–console-only" below still works even though it’s deprecated:
And "–no-launch-browser" below still works even though it’s deprecated:
"–no-browser" below doesn’t work yet but "–no-browser" will replace "–console-only" and "–no-launch-browser" so in the future, "–no-browser" will work while "–console-only" and "–no-launch-browser" won’t work in the future: