Экран согласия OAuth - возможность удалить приложение lo go: старое решение больше не работает - PullRequest
5 голосов
/ 16 июня 2020

Вопрос : как удалить приложение lo go.

Решение : предыдущее решение из этого ответа, { ссылка } , больше не работает.

Google изменил формат "iconUrl" на "icon" и теперь использует поток данных в кодировке Base64, например "icon":"iVBORw0KGgoAAAAN..., вместо URL-адреса изображения, ранее записанного как "iconUrl":"https://...".

Я пробовал "icon":"" и многие значения в кодировке Base64, такие как "icon":"IA", "icon":"Lw" и некоторые другие - безуспешно. Я получаю консольные сообщения типа

для "icon":""

{
  "error": {
    "code": 400,
    "message": "The request failed because one of the field of the resource is invalid.",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.PreconditionFailure",
        "violations": [
          {
            "type": "client_auth_config",
            "subject": "?error_code=9&error_field_name=UpdateIconRequest.icon&error_field_value=%3CByteString@3eeee81e+size%3D0+contents%3D%22%22%3E"
          }
        ]
      }
    ]
  }
}

или

{
  "error": {
    "code": 400,
    "message": "Request contains an invalid argument.",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.identity.clientauthconfig.v1.ClientAuthConfigError",
        "code": "ICON_STORAGE_FAILURE"
      },
      {
        "@type": "type.googleapis.com/google.identity.clientauthconfig.v1.IconStorageError",
        "reason": "INVALID_IMAGE"
      }
    ]
  }
}

или

{
  "error": {
    "code": 400,
    "message": "Invalid value at 'icon' (TYPE_BYTES), Base64 decoding failed for \" \"",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.BadRequest",
        "fieldViolations": [
          {
            "field": "icon",
            "description": "Invalid value at 'icon' (TYPE_BYTES), Base64 decoding failed for \" \""
          }
        ]
      }
    ]
  }
}

Кто-нибудь знает, что нужно вставить сюда, чтобы удалить изображение lo go из приложения?

1 Ответ

5 голосов
/ 19 июня 2020

Ответ:

К сожалению, это невозможно сделать.

Дополнительная информация:

Один раз LO приложения OAuth go был загружен, нет поддерживаемого способа его удаления - в вопросе, который вы связали, способ, которым это было сделано, немного взломан, проверяя сетевые запросы и создавая новый запрос из предыдущего отправленного объекта JSON через пользовательский интерфейс действительно показывает это.

Поскольку URL-адрес значка изменился и теперь ему требуется значение в кодировке Base-64, оно устарело. Трудно сказать, было ли это намеренно Google или нет, но теперь пустое значение всегда будет возвращать INVALID_ARGUMENT. Любые данные в значении icon также просто заменят данные изображения, и поэтому это не жизнеспособный обходной путь, что касается процесса проверки, данные изображения существуют и поэтому должны быть

Если это не слишком сложный процесс, единственный обходной путь здесь - создать новый проект GCP с новым экраном согласия OAuth без загрузки изображения. Конечно, вам нужно будет повторно активировать все соответствующие API и связать соответствующие сценарии и проекты с новой настройкой.

Запрос функции:

Однако вы можете сообщить Google, что это функция, которая важна, и вы хотите, чтобы они ее реализовали. Google Issue Tracker - это место, где разработчики могут сообщать о проблемах и делать запросы функций для своих служб разработки. Я бы посоветовал использовать шаблон запроса функции для надстроек G Suite , так как это компонент, для которого можно использовать проекты GCP.

Я знаю, что это в целом плохие новости, но я надеюсь это полезно для вас!

Соответствующие вопросы:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...