Google Admin Directory API Несанкционированная ошибка без сообщения о пользователях / смотреть с 6 декабря - PullRequest
0 голосов
/ 07 января 2019

Мы запускаем приложение, которое кэширует некоторые подробности о пользователях внутри.

В прошлом месяце (6 декабря) он перестал работать с перерывами в течение дня и прекратил работу совсем поздно вечером CET.

Проблема появилась одновременно во всех четырех проектах на улице DTAP, а также во всех доменах, на которых она авторизована. До этого не было выполнено ни одного недавнего развертывания, и этот код работал без проблем около двух лет.

Приложение работает в стандартной среде Java 8 App Engine, мы следим за ресурсом Users через API Admin Directory. Вызов авторизован с использованием учетной записи службы, подражающей администратору.

Исключение:

com.google.api.client.auth.oauth2.TokenResponseException: 401 Unauthorized
    at com.google.api.client.auth.oauth2.TokenResponseException.from(TokenResponseException.java:105)
    at com.google.api.client.auth.oauth2.TokenRequest.executeUnparsed(TokenRequest.java:287)
    at com.google.api.client.auth.oauth2.TokenRequest.execute(TokenRequest.java:307)
    at com.google.api.client.googleapis.auth.oauth2.GoogleCredential.executeRefreshToken(GoogleCredential.java:394)
    at com.google.api.client.auth.oauth2.Credential.refreshToken(Credential.java:493)

В отличие от большинства ошибок этого API, этот файл не содержит никаких подробностей.

Учетная запись службы по-прежнему существует, файлы ключей присутствуют, а области установлены для каждого соответствующего домена.

Ошибка идентична при использовании обеих областей, перечисленных в документации (https://developers.google.com/admin-sdk/directory/v1/reference/users/watch) https://www.googleapis.com/auth/admin.directory.user.readonly а также https://www.googleapis.com/auth/admin.directory.user

Пользователь с правами администратора также имеет доступ к каталогу, в зависимости от домена, он либо является супер-администратором, либо ему был предоставлен более детальный доступ.

В зависимости от текущей активной версии приложение использует клиентскую библиотеку Java "com.google.apis:google-api-services-admin-directory" версии directory_v1-rev105-1.25.0 или directory_v1-rev93-1.23.0

.

Срок действия этих часов истекает, и они обновляются ежечасно. Проекция установлена ​​на "full", тип просмотра - "admin_view", а тип канала "web_hook" направлен на сервлет в том же проекте.

Звонки users.get в приложении с использованием тех же (кэшированных) учетных данных, учетной записи службы, пользователя-администратора и клиента API продолжали работать до сих пор.

Поскольку ошибка появилась одновременно в нескольких проектах и ​​доменах, нам интересно, изменилось ли что-нибудь в API, что могло бы объяснить эту проблему.

...