OAuth同意屏幕-删除应用程序徽标的功能

时间:2019-07-11 12:27:31

标签: google-cloud-platform google-api google-oauth

我在OAuth同意屏幕(URL:https://console.cloud.google.com/apis/credentials/consent)上错误地添加了应用程序徽标,现在显示我的同意屏幕需要Google验证。

是否可以从同意屏幕中删除应用程序徽标?

9 个答案:

答案 0 :(得分:5)

截至 2021 年 5 月 31 日,我可以通过以下步骤删除该图标。由于这是上面两个答案和其他步骤的组合,为了清楚起见,我将所有步骤放在这里。感谢@Chris32 和@ropsnou 的初始步骤。

  1. OAuth Credentials page 中删除所有现有的 API 密钥和客户端 ID
  2. 在 Chrome 或 Chromium 衍生物中打开 OAuth Consent Screen Configuration
  3. 上传与之前上传的图片不同的任何图片,然后点击“保存并继续”
  4. 在“网络”选项卡中,查找这样的 PUT 请求:https://clientauthconfig.clients6.google.com/v1/brands/745625634622/icon?key={key}
  5. 右键单击请求并选择“复制”->“复制为 cURL (bash)”。
  6. 将其粘贴到文本编辑器中并进行以下更改
    • 从网址中删除 /icon
    • 将请求方法更改为 DELETE
    • 删除 --data-raw 参数及其长值
  7. 打开一个 Cloud Console 会话(顶部菜单栏中的终端图标)并粘贴修改后的命令,然后运行您在上一步中修改的命令。如果您收到 INVALID_ARGUMENT 错误,您可能仍然拥有与同意屏幕关联的 API 密钥或客户端 ID。如果您得到 {},则该命令成功并删除了徽标。但是,与徽标一起,一个更大的品牌实体也被删除,如果您尝试修改同意屏幕,您将收到“保存您的应用时出错。”
  8. 要重新创建品牌,请在控制台中运行以下命令(假设您有正确的项目处于活动状态):
gcloud alpha iap oauth-brands create --application_title='<title>' --support_email='<email>'
  1. 现在徽标消失了,您可以再次修改同意屏幕

答案 1 :(得分:4)

对于那些无法使用'PUT'方法进行更新(如@ Chris32回答)并准备删除同意屏幕并创建新屏幕的用户,只需将'PUT'替换为'DELETE'并删除--data-binary部分(因为delete不需要任何有效负载),可以使用常规bash shell运行它。

答案 2 :(得分:3)

[更新]-2020

仍然可以通过API调用删除以前上传的徽标,尽管它需要对 Abhishek Srivastava 建议的答案进行一些修改。

您需要:

  1. “复制为cURL(bash)” 与原始答案一样
  2. Delete
  3. 替换 PUT 方法
  4. 请勿删除-data-binary 部分,而是将其清理干净,直到看起来像这样,--data-binary '{"brandId":"<your_brand_id>"}'

这将完全删除您的同意屏幕,

答案 3 :(得分:1)

我已经尝试了上述所有解决方案,并且看到我们不再能够发送“ DELETE”请求,因为cURL发送404响应。

我的解决方案是我提交了我的应用进行验证(除非您要求敏感/受限范围,否则您不必付款,即使如此,他们仍会向您发送一封电子邮件,其中包含价格确认等)。

这使您可以像以前一样使用同意屏幕,没有图标,但无需验证。 (通过验证后,他们将允许您使用您的图标)。

代表返回后,让他们知道您打算在内部使用您的应用,而您只是希望他们删除图像。

答案 4 :(得分:1)

2021 年 5 月 - 仍然可以完全删除同意屏幕!与原始说明相比,需要进行以下更改:

  • 从请求 URI 中删除 /icon。更新后的 URI 应遵循格式 https://clientauthconfig.clients6.google.com/v1/brands/{BRAND_ID}?key={KEY}
  • 将请求方法从 PUT 更改为 DELETE
  • 完全删除请求的 --data-binary 或 --data-raw 部分

这将删除整个同意屏幕(不仅仅是图标),以便可以从头开始创建一个新的。

答案 5 :(得分:0)

要删除徽标,请按照以下步骤操作:

  • 使用Google Chrome https://console.cloud.google.com/apis/credentials/consent
  • 打开oauth同意屏幕配置
  • 上传新徽标
  • 打开开发人员工具(ctrl-shift-i)
  • 打开网络标签
  • 按下清除按钮以清除屏幕上已经存在的所有日志
  • 保存设置
  • 您将看到这样的请求123456789987?alt = json&key = ...单击它,并确保请求方法为PUT
  • 再次单击鼠标右键,然后选择copy-> copy as cURL
  • 将其粘贴到文本编辑器中,然后查找“ iconUrl”:“ https:// ...”,将其更改为“ iconUrl”:“”
  • 将修改后的命令复制并粘贴到云控制台中并运行它
  • 确认徽标已从同意屏幕中删除,并且验证状态已更改

请注意,这可能需要您再次验证您的应用。

答案 6 :(得分:0)

以上方法对我不起作用,我一直收到INVALID_ARGUMENT。这是因为我在项目中有客户凭证。我必须删除客户端凭据,并且DELETE请求方法(无数据二进制)对我有用。

答案 7 :(得分:0)

在“OAuth 同意屏幕”中将应用的状态从“已发布”转换为“正在测试”,看看它是否有效。

我遇到了类似的情况,我上传了徽标,但被要求提交我的应用以进行验证。我确实提交了我的应用程序进行验证,但网站详细信息等数据不正确。我项目的 Google 审核员回复说这似乎是一个内部/个人使用的应用程序,并将我的项目状态转换为测试而不是发布。这样做后,我认为我的徽标已从我的项目中自动删除。因此,在我们上传徽标的那一刻,项目就会从测试状态转变为已发布状态,并且由于上传了徽标,因此必须通过验证过程。

这是我从 Google 收到的带有完整信息链接的 mail

请注意:如果您将项目定义为测试项目,则需要为此项目提供测试人员电子邮件 ID

答案 8 :(得分:-1)

到目前为止,根据我的研究,还没有办法从同意屏幕中删除应用程序徽标。

除非您要求授权进行验证,否则无需提交帐户进行验证。