DEV Community

Gustavo Alberto
Gustavo Alberto

Posted on

Como armazenar credenciais como uma chave de api no Rails

Quem aqui nunca quis armazenar credenciais como uma variável de ambiente para usar na sua aplicação. Então seus problemas acabaram. O Rails nos disponibiliza uma ferramenta para armazenar nossas credenciais usando criptografia. Sem mais delongas, vamos ao que interessa.

Uma vez que você já tem seu projeto Rails criado, use essa linha de comando em um terminal que está rodando na pasta raiz do seu projeto Rails.

EDITOR="nano" rails credentials:edit

Se você está rodando essa linha de comando pela primeira vez, ela irá criar um arquivo chamado master.key, a qual é uma chave para criptografar e descriptografar suas credenciais.

Depois de rodar esse comando, ele abrirá o editor que você escolheu dentro do parametro EDITOR na linha de comando, o editor será aberto no arquivo onde são armazenadas as credenciais, então você pode guarda-las aqui com a sintaxe do yml, como por exemplo:

api_key: 7647hddggsadasb-afdafd-nfs
aws: 
   access_key_id: 123
   secret_access_key: 345
Enter fullscreen mode Exit fullscreen mode

Então salve o arquivo com o seu editor e suas credenciais serão armazenadas com sucesso.

Para acessar essas variáveis no seu código siga esse exemplo:

Rails.application.credentials.api_key
Rails.application.credentials.aws.access_key_id
Rails.application.credentials.aws.secret_access_key
Enter fullscreen mode Exit fullscreen mode

Você pode editar suas credenciais com o mesmo comando:

EDITOR="nano" rails credentials:edit

Simples não é? Com o Rails tudo fica mais fácil.

Obrigado por ler esse post :)

Top comments (0)