Трехсторонний поток OAuth без клиентского JSON-файла
Я пытаюсь использовать библиотеку Google OAuth 2.0 Ruby для выполнения трехэтапного потока OAuth, при котором учетная запись службы, выполняющая облачную функцию GCP, запрашивает
Я настроил необходимое делегирование всего домена для моего клиента OAuth в Google Workspace с помощью
Вот мой код:
class Directory
def initialize
scope = ['https://www.googleapis.com/auth/admin.directory.group.readonly']
auth_client = Google::Auth.get_application_default(scope).dup
auth_client.update!(sub: 'me@example.com')
auth_client.fetch_access_token!
@client = Google::Apis::AdminDirectoryV1::DirectoryService.new
@client.authorization = auth_client
end
def list_groups
@client.list_groups(user_key: 'me@example.com', domain: 'example.com')
end
end
При тестировании облачной функции я получаю
После нескольких часов чтения документов библиотеки я заметил, что все примеры передают ссылку на JSON-файл учетных данных клиента. Требуется ли это с библиотекой аутентификации Ruby Google? Я бы предпочел не генерировать и не управлять ключами для своей учетной записи службы, если это возможно.
Я знаю, что можно использовать клиент аутентификации Python без файла JSON учетных данных клиента, потому что это сделал коллега.
Любая помощь приветствуется.