当我使用运行任一命令时:gcloud auth application-default login
特定码头集装箱的ORCCD_ 2。
我的命令行会给我一个谷歌响应页面的链接,在那里我会复制他们给我的代码,并在命令行中编写。
出于某种原因,现在每当我尝试执行任一命令时,我都会收到以下错误,说我无法访问web浏览器。
您在不访问web浏览器的情况下授权客户端库。请在具有web浏览器的计算机上运行以下命令,然后将其输出复制回此处。确保安装的gcloud版本372.0.0或更新版本
gcloud auth应用程序默认登录--远程引导=";https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=764086051850-6qr4p6gpi6hn506pt8ejuq83di341hur.apps.googleusercontent.com&scope=openid+https%3A%2F%2Fww.googleapis.com%2Fat%2Fuserinfo.email+https%3A+2F%2Fww.googleapis.com%2Fat%2云平台+https%3A+2F%2F%2WWW.googleapis.com%2Fauth%2Faccounts.reauth&state=FmMFY6gvpOa9xndMXmWiNG3W1jDrCe&access_type=offline&code_challenge=zUI4n_pnYE5V7p0diDQLmL0X0Sk8XpTDzhz_vwtukOo&code_challenge_method=S256&token_usage=远程">
我尝试复制其中的链接并将其放置在我的网络浏览器中,但我收到一个页面。
错误400:无效请求缺少必需参数:重定向uri
编辑:虽然不确定为什么现在会发生这种情况,但我添加了选项"--无启动浏览器";到两个命令的末尾,它给了我一个链接,现在可以手动放置在浏览器中并复制代码。
在gcloud >= 383.0.0
版本(2022年4月26日)上,谷歌删除了对其CLI上--console-only
和--no-launch-browser
标志的支持。据我所见,他们没有给出原因,但这可能与安全有关。
在没有web浏览器的机器上进行身份验证的新方法是使用--no-browser
标志,并将其提供的命令复制到同时安装了gcloud >= 372.0
和web浏览器的计算机上。换句话说,在没有浏览器的机器上再也不可能做到这一点了。请参阅直接从其文档中复制的以下步骤:
遵循以下步骤:
- 复制以
gcloud auth login --remote-bootstrap="
开头的长命令- 在本地安装了web浏览器和gcloud CLI 372.0或更高版本的另一台受信任计算机的命令行上粘贴并运行此命令
- 使用web浏览器复制机器输出的长URL
- 在提示
Enter the output of the above command
下,将长URL粘贴回第一台机器,然后按Enter
完成授权
使用gcloud init --console-only
"--"仅控制台">下面仍然有效,即使它被弃用:
gcloud init --console-only
并且"--无启动浏览器">下面仍然有效,即使它被弃用:
gcloud init --no-launch-browser
"--没有浏览器"还不起作用,但"--没有浏览器">将取代"strong>"--"仅控制台">和"--无启动浏览器">所以在未来,"--没有浏览器">将工作,而"--"仅控制台">和"--无启动浏览器">将来不起作用:
gcloud init --no-browser
使用服务帐户授权使用服务帐户进行授权:
转到谷歌云控制台中的"服务帐户"页面。
转到服务帐户
- 通过单击选择现有帐户或创建新帐户创建服务帐户
- 要创建服务帐户密钥,请参阅IAM说明创建服务帐户密钥
- 要激活您的服务帐户,请使用--cred文件标志:
gcloud身份验证登录--cred file=CONFIGURATION _OR_KEY_file
将CONFIGURATION _OR_KEY_FILE替换为以下路径之一:
- 工作负载标识联盟的凭据配置文件
- 服务帐户密钥文件
因为重定向uri不包含整个URL,所以可能会发生这种情况。这可以通过调整自定义URL库来解决。
结果如下所示:https://my_company_artifactory:444/artifactory
您还应该仔细检查自定义URL库和/api/oauth2/loginResponse
是否包含在Google OAuth设置页面的授权重定向URI中。
查看更多信息,您可以将本地主机URL添加到重定向URL中,这意味着目前不可能。当在点击创建按钮之前设置重定向URL时,它会很好地接受它。