OAuth 同意屏幕-删除应用程序标志的能力

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

有没有办法把申请标志从同意书屏幕上移除?

编辑: 我之前没有说清楚,但我想删除的标志,以摆脱验证通知。

26494 次浏览

In order to delete the logo, follow these steps:

  • Open the OAuth Consent Screen Configuration in Chrome or a Chromium derivative. https://console.cloud.google.com/apis/credentials/consent
  • Upload any image that differs from the one previously uploaded.
  • Open your Developer Tools (F12 or Ctrl+Shift+I).
  • Open the Network tab.
  • (Optional) Press the Clear button to make it easier to search later.
  • Click the Save button on the website to upload the new logo. (If the Save button is disabled, go through the full "Submit for Verification" process.)
  • In the Network tab, look for a request similar to "123456789987?alt=json&key=...".
  • Click on the entry and ensure that the Request Method is PUT.
  • Right-Click the entry and select "Copy"->"Copy as cURL (bash)".
  • Paste it into a text editor and search for the text "iconUrl":"https://...".
  • Change the text to read like the following: "iconUrl":"".
  • Back on the site, open up a Cloud Console session (The terminal icon in the top menu bar) and paste the modified command, then run it.
  • Verify that logo got removed from consent screen and verification status has changed.

Please keep in mind that this may require you to verify your app again.

Since June 11th of 2020 there's a Feature request open requesting the adition of a remove logo button to make this process easier. Please leave your comment, star the issue and leave a +1 if you are also affected by this issue.

From my research so far, there is no way to remove the application logo from the consent screen.

You don't have to submit the account for verification unless you are asking for a permission mandating a verification.

For those who were unable to update it using the 'PUT' method (as answered by @Chris32 )and are ready to delete the consent screen and create a new one, can simply replace 'PUT' with 'DELETE' and remove --data-binary section (as delete doesn't take any payload) and can run it using a regular bash shell.

[UPDATE] - 2020

Is still possibile to delete your previously uploaded logo through an API call, although it requires a little modification of the answer Abhishek Srivastava suggested.

You need to:

  1. "Copy as cURL (bash)" as for the original answer
  2. Replace the PUT method with DELETE
  3. Do not remove the --data-binary section, instead clean it all up until it looks like this and nothing else: --data-binary '{"brandId":"<your_brand_id>"}'

This will remove your consent screen entirely,

The methods above did not work for me, I kept getting INVALID_ARGUMENT. This is because I had client credentials in the project. I had to delete the client credentials and the DELETE request method (without data-binary) worked for me.

I have tried all the above solutions, and see that we no longer can send "DELETE" requests, as cURL sends 404 responses.

My solution is that I submitted my app for verification (you don't have to pay unless you request sensitive/restricted scopes, and even then, they will send you an email with a confirmation of pricing etc).

This allows you to use the consent screen as before, without the icon, but without verification. (When you're verified, they will let you use your icon).

Once a representative gets back, let them know you intend your app to be used internally, and you just want them to delete the image.

May 2021 - It is still possible to completely delete the consent screen! The following changes are needed compared to the original instructions:

  • remove /icon from the request URI. The updated URI should follow the format https://clientauthconfig.clients6.google.com/v1/brands/{BRAND_ID}?key={KEY}
  • change request method from PUT to DELETE
  • completely remove --data-binary or --data-raw part of the request

This will delete the entire consent screen (not just the icon), so that a new one can be created from scratch.

As of Sep 12, 2022 (confirmed by gadicc) icon can be removed with the following steps. Since this is a combination of two answers above with additional steps I put all the steps here for clarity. Credits to @Chris32 and @ropsnou for the initial steps.

  1. Remove all existing API keys and Client IDs from the OAuth Credentials page
  2. Open the OAuth Consent Screen Configuration in Chrome or a Chromium derivative.
  3. Upload any image that differs from the one previously uploaded and click "Save and continue"
  4. In the Network tab, look for a PUT request like this: https://clientauthconfig.clients6.google.com/v1/brands/745625634622/icon?key={key}
  5. Right-Click the request and select "Copy"->"Copy as cURL (bash)".
  6. Paste it into a text editor and do following changes
    • Remove /icon from the url
    • Change request method to DELETE
    • Remove --data-raw parameter and its long value
  7. Activate Cloud Shell by clicking the terminal icon in the top-right corner of the GCP website. Paste and run the command you modified in the previous step. If you get INVALID_ARGUMENT error you probably still have an API key or Client ID associated with the consent screen (Check the Credentials tab on GCP). If you get {} the command was successful and the logo was removed. However, together with the logo a larger brand entity was also removed, and if you try to modify the consent screen you will get "An error saving your app has occurred."
  8. To recreate the brand run the following command in the Cloud Shell (it assumes you have the correct project active):
    EDIT: The command may fail for two reasons (see comments for more info):
    • User is not owner of the email
    • Project is not in an organization
gcloud alpha iap oauth-brands create --application_title='<title>' --support_email='<email>'
  1. Now the logo is gone and you can again modify the consent screen

Convert the status of the app from "Published" to "Testing" in your "OAuth consent screen" and see if it works.

I was in a similar situation where I had uploaded a logo and was being asked to submit my app for verification. I did submit my app for verification but with incorrect data for website details etc. The Google reviewer for my project got back mentioning this seems to be a internal/personal use app and to convert my project status to testing instead of published. After doing this I think my logo got deleted automatically from my project. So the moment we upload the logo the project moves from testing to published status and since there is a logo uploaded it has to go through the verification process.

Here is the mail I received from Google with the info links intact.

Please Note: If you define your project as a testing project then you need to provide tester email ids for this project

I had the same issue, uploaded a logo image by mistake, but I don't see a problem here. I just went ahead and submitted for verification and a few hours later I received this email:

Thanks for submitting a verification request.

If your app doesn't need to display an icon, you can skip the verification process and no action is required. If you do skip the verification process, the existing functions of your app won't change, as long as the scopes used by your project don’t change.

Otherwise, if you’d like to continue with the verification process:

Make sure you’ve completed all the required steps. Reply directly to this email to let us know. The review process can take up to 6 weeks. Thanks for your patience during this period.

So just don't respond and don't finish the required steps and the verification process will stop automatically without affecting your app.

I've tried the requests method and it didn't work, and it put my project in a locked state where I couldn't edit it anymore. If you're just starting with the Play Services and it isn't yet in production, the easiest is honestly to drop the project and create a new one.

I recently had to complete the verification process and one of the requirements was that the developer privacy policy page or link contain the logo. My plan was to use the policy for all my apps if I could so I added a transparent png file the right size and removed the logo off my development web site and verification for branding passed fine. I did not know at the time that adding a simple logo triggered all these requirements; I just wanted oauth to work. For me the oauth screen did not even pop up until Google had verified my app. [just a spinning progress bar]

@Samuli Asmala's answer is correct. However, Step 8 will sometimes throw the following error:

ERROR: (gcloud.alpha.iap.oauth-brands.create) Error parsing [project].
The [name] resource is not properly specified.
Failed to find attribute [project]. The attribute can be set in the following ways:
- provide the argument `--project` on the command line
- set the property `core/project`"

So to fix this run the following command:

$ gcloud config set project <PROJECT-ID>

Just to be aware.

You may not be able to use "Auth0 consent screen" again after the recommendations of the others post.

{"error":{"code":5,"message":"The resource has been deleted.","details":[{"@type":"type.googleapis.com/google.rpc.ErrorInfo","reason":"RESOURCE_DELETED","domain":"clientauthconfig.googleapis.com","metadata":{"resource_name":"[\"brand\"]"}}]}}]

enter image description here

and if this happen, please use the follow command that @SamuliAsmala recomended.

gcloud alpha iap oauth-brands create --application_title="TITLE" --support_email="EMAIL"