Buscar..


Introducción

Muchas API de terceros requieren una clave, lo que les permite evitar el abuso. Si te emiten una clave, es muy importante que no la ingreses en un repositorio público, ya que esto permitirá que otros roben tu clave.

Almacenando claves de autentificación con Figaro

Agregue gem 'figaro' a su Gemfile y ejecute bundle install . Luego ejecute bundle exec figaro install ; esto creará config / application.yml y lo agregará a su archivo .gitignore, evitando que se agregue al control de versiones.

Puede almacenar sus claves en application.yml en este formato:

SECRET_NAME: secret_value

donde SECRET_NAME y secret_value son el nombre y el valor de su clave API.

También debe nombrar estos secretos en config / secrets.yml. Puedes tener diferentes secretos en cada entorno. El archivo debería verse así:

development:
  secret_name: <%= ENV["SECRET_NAME"] %>
test:
  secret_name: <%= ENV["SECRET_NAME"] %>
production:
  secret_name: <%= ENV["SECRET_NAME"] %>

La forma en que utiliza estas claves varía, pero digamos, por ejemplo, que algunos some_component en el entorno de desarrollo necesitan acceso a secret_name . En config / environment / development.rb, pondrías:

Rails.application.configure do
  config.some_component.configuration_hash = {
    :secret => Rails.application.secrets.secret_name
  }
end

Por último, supongamos que desea crear un entorno de producción en Heroku. Este comando cargará los valores en config / environment / production.rb a Heroku:

$ figaro heroku:set -e production


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow