Передача данных учетной записи службы Google, встроенных в Java - PullRequest
0 голосов
/ 04 сентября 2018

В настоящее время я использую клиентскую библиотеку Google Cloud для Java для авторизации для API Google.

В настоящее время я делаю авторизацию следующим образом:

GoogleCredentials googleCredentials = GoogleCredentials.fromStream(new FileInputStream(JSON_FILE))
      .createScoped(Lists.newArrayList("https://www.googleapis.com/auth/cloud-platform"));

Есть ли способ встроить детали в JSON_FILE в Java? Таким образом, мне не нужен прямой доступ к реальному файлу JSON?

Я заметил, что вы можете сделать это через Node.js SDK (показано здесь: https://firebase.google.com/docs/admin/setup), но я не могу найти пример с Java. Спасибо!

Ответы [ 3 ]

0 голосов
/ 29 ноября 2018

Согласно документации, предоставленной в Руководстве разработчика Google вам необходимо передать файл json в качестве параметра, чтобы получить доступ к данным приложения, а также это можно подтвердить, если вы посмотрите в классе GoogleCredentials (вы можете заметить, что требуется файл Json)

0 голосов
/ 29 ноября 2018

Есть несколько методов, которые я могу придумать.

  1. Поместите свои учетные данные Json в строку. Вызовите fromStream(myStream), чтобы обработать строку или поток памяти из строки json.
  2. Обходите класс GoogleCredentials, создайте свой собственный Signed JWT и передайте токен доступа create(accessToken).

GoogleCredentials.java

Примечание. Я бы не рекомендовал вашу идею хранения учетных данных учетной записи службы в исходном коде. Это не рекомендуется с точки зрения безопасности.

0 голосов
/ 10 сентября 2018

Вы можете найти следующее doc полезным.

...