web-dev-qa-db-fra.com

Créer de nouvelles informations d'identification Rails 5 sur un clone

Problème Je crée un modèle Rails 5.2 . J'ai créé un nouveau projet qui est un fork du modèle. Je ne veux pas utiliser le même config/master.key car ce serait partagé entre X autres projets. Est-il possible de générer une nouvelle paire clé & config/credentials.yml.enc? De cette façon, je pourrais inclure un config/credentials.yml.enc.sample et ils exécutent Rails credentials:new ou quelque chose puis copient le contenu?

Vous ne trouvez rien dans la documentation ou dans Google/donc les recherches à ce sujet et mon alternative consistent à utiliser la même clé pour tous mes projets publics:, (

7
Myk Klemme

comme décrit ici: https://blog.eq8.eu/til/Rails-52-credentials-tricks.html

Régénérer la clé

Actuellement, il n’existe pas de fonctionnalité «modifier le mot de passe», vous devez copier le contenu original des informations d’identification, supprimer les fichiers enc et régénérer le fichier d’informations d’identification (source).

  • étape 1 copier le contenu des informations d'identification d'origine Informations d'identification Rails: show
  • étape 2 déplacez config/credentials.yml.enc et config/master.key (mv config/credentials.yml.enc ./tmp/ && mv config/master.key ./tmp/)
  • étape 3, exécutez EDITOR = Informations d'identification vim Rails: edit
  • étape 4 coller les valeurs copiées à partir des informations d'identification d'origine étape 5 enregistrer et valider config/credentials.yml.enc note! EDITOR = Informations d'identification vim Rails: edit risque de ne pas fonctionner si vous avez besoin d'une valeur d'identification dans un fichier (par exemple, dans config/database.yml`)
4
equivalent8

https://github.com/Rails/rails/blob/master/railties/lib/Rails/commands/credentials/USAGE

Pour les applications créées avant Rails 5.2, nous allons automatiquement générer un nouveau fichier d'informations d'identification dans config/credentials.yml.enc le la première fois que vous exécutez bin/Rails credentials:edit. Si vous n'aviez pas de clé principale enregistrée dans config/master.key, elle sera également créée.

Je peux donc créer une version en texte brut du fichier crypté pour indiquer les clés requises:

foo_api_key: 123

Ils exécutent bin/Rails credentials:edit qui génère la clé et le fichier crypté, puis les copient pour les ajouter au fichier crypté.

1
Myk Klemme