Вопрос

я использую BigQuery Gem в моем проекте. Я инициализирую его с помощью Options Client_ID, Service_email, Key, Project_id и DataSet. У меня есть мой файл .p12 из Google, который я хочу пройти, но я не уверен, куда поместить файл в мой проект Rails - я попытался поместить его в тот же каталог, что и мой файл конфигурации, и передал относительное имя пути, но Я получаю неверную ошибку пароля. Конкретно, строка 10 бросает ошибку, когда называется LOAD_KEY:

key = Google::APIClient::PKCS12.load_key(
  opts['key'],
  "notasecret"
)

Так ясно, что он неправильно загружает файл ключа. Я ужасен в управлении активами Rails - куда мне поставить свой файл ключа и какой путь мне следует пройти в своих вариантах?

Это было полезно?

Решение

Вы можете поместить файл ключа в каталог конфигурации, затем сделать следующее:

opts['key'] = Rails.root.join('config','nameofkeyfile.p12').to_s

Вы не хотите, чтобы ключ находился в месте, где ваше приложение будет служить для общественности, поэтому конфигурация звучит как хорошее место для меня.

Вы можете экспериментировать с блоком, который у вас есть в консоли Rails:

# run `rails c` then
keypath = Rails.root.join('config','nameofkeyfile.p12').to_s
key = Google::APIClient::PKCS12.load_key(keypath, "notasecret")

Глядя на Google :: apiclient документация, Я понимаю load_key устарела. Они рекомендуют использовать Google::APIClient::KeyUtils вместо.

key = Google::APIClient::KeyUtils.load_from_pkcs12(keyfile, "notasecret")

Что касается быстрого обзора конвейера Asset Rails, см. здесь. Анкет (Пожалуйста, простите часть этого URL -адреса «для чайников», она кажется хорошей, быстрая информация.)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top