Как создать gcs :: Client без json в клиентской библиотеке облачного хранилища Google C ++? - PullRequest
0 голосов
/ 21 декабря 2018

Мне нужно «Аутентификация в качестве конечного пользователя» (я для доступа к ресурсам от имени конечного пользователя моего приложения) в облачном хранилище Google.Так как мое приложение написано на с ++.Я скомпилировал c ++ клиентскую библиотеку Google Cloud Storage.Но здесь говорит о том, что ему нужен JSON-файл клиента для создания объекта gcs :: Client.Я не смог найти какой-либо другой способ создания клиента с такой информацией, как идентификатор проекта, адрес электронной почты службы, закрытый ключ, имя ключа и имя корзины (этой информации достаточно для аутентификации в python).Есть ли способ аутентификации конечного пользователя с помощью вышеуказанной информации в клиентской библиотеке c ++ облачного хранилища g ++?

Ответы [ 2 ]

0 голосов
/ 21 декабря 2018

Когда вы говорите, что вы «проходите аутентификацию как конечный пользователь», вы подразумеваете, что у пользователя будет учетная запись в Google Cloud Platform, и вы планируете использовать его учетные данные (возможно, через OAuth для доступа к Google Cloud Storage? Если да,К сожалению, мы не реализовали поддержку этого рабочего процесса в google-cloud-cpp.

Я подал ошибку , чтобы отследить это, не стесняйтесь добавлять дополнительные вопросы или предложения.

0 голосов
/ 21 декабря 2018

В Google Cloud существует три типа учетных данных:

  • Ключи API.
  • Учетные данные учетной записи службы.
  • Учетные данные пользователя (OAuth 2.0).

Ключи API не применяются в вашем случае использования.Эти учетные данные используются для служб Google, для которых не требуется идентификация.

В примере кода, на который вы ссылаетесь, используются (требуются) учетные данные учетной записи службы, которые хранятся в виде файла Json.Это стандартный метод аутентификации и авторизации программных приложений.

Если ваша цель состоит в том, чтобы ваш пользователь авторизовался с помощью своей учетной записи Google и использовал токен OAuth 2.0 в своем программном обеспечении для доступа к Google Cloud Storage, это также может бытьсделанный.Вам нужно будет внедрить Google OAuth 2.0 Flow в свое приложение, которое запустит браузер для пользователя.Google перезвонит вашему коду с помощью токена OAuth.

C ++ Использование OAuth 2.0

Предложение: Если вы ранее не занимались разработкой для OAuth 2.0, я бы не сталначать с разработки Google OAuth 2.0 на C ++.Используйте такой язык, как Python, в котором есть много примеров, чтобы вы почувствовали, как работает OAuth.

...