Où stocker les personnels jeton d'accès à partir de GitHub?
Est-il nécessaire de stocker les personnels jeton d'accès quelque part en local sur la machine après la génération dans GitHub?
Si oui, est-il un moyen privilégié où il peut être stocké?
Traiter vos jetons comme les mots de passe et de les garder secrètes. Lorsque vous travaillez avec l'API, utiliser des jetons comme des variables d'environnement au lieu de coder en dur dans vos programmes. Voir le numéro 8 de l'officiel docs: help.github.com/articles/...
Exactement, j'ai vu que des commentaires lors de la génération du jeton d'accès, mais je n'étais pas sûr de savoir comment les gens à assurer leur sécurité dans la pratique.
Cela semble si étrange pour moi. La moitié du point de mots de passe, c'est que (dans l'idéal), vous mémoriser et le système de hachages, par conséquent, ils ne sont jamais stockées n'importe où dans le texte. Encore GitHub personnels du jeton d'accès système semble fondamentalement vous forcer à stocker le jeton en texte brut?
Puis-je vous demander pourquoi avez - vous besoin de les conserver? Peut-être qu'il existe des alternatives qui ne vous obligent pas à les stocker localement...
Ils sont générés automatiquement et long, donc la mémorisation n'est pas une option.
Exactement, j'ai vu que des commentaires lors de la génération du jeton d'accès, mais je n'étais pas sûr de savoir comment les gens à assurer leur sécurité dans la pratique.
Cela semble si étrange pour moi. La moitié du point de mots de passe, c'est que (dans l'idéal), vous mémoriser et le système de hachages, par conséquent, ils ne sont jamais stockées n'importe où dans le texte. Encore GitHub personnels du jeton d'accès système semble fondamentalement vous forcer à stocker le jeton en texte brut?
Puis-je vous demander pourquoi avez - vous besoin de les conserver? Peut-être qu'il existe des alternatives qui ne vous obligent pas à les stocker localement...
Ils sont générés automatiquement et long, donc la mémorisation n'est pas une option.
OriginalL'auteur Krzysztof Słowiński | 2017-10-09
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, un PAT (Personnel Jeton d'Accès) n'est pas un simple mot de passe, mais un équivalent qui:
Qui diffère de votre mot de passe, qui est unique à votre compte, et ne peut pas être facilement changé sans avoir à aussi modifier partout où vous arrive d'utiliser.
Depuis un PAT peut être utilisé à la place d'un mot de passe lors de l'exécution de la commande Git opérations sur HTTPS avec Git en ligne de commande ou à l'API, vous pouvez utiliser un git d'identification helper de mettre en cache en en toute sécurité.
Sur Windows, par exemple, utiliser le le Gestionnaire d'informations d'Identification Windows, par le biais de la GCM -- Git Gestionnaire d'informations d'Identification -- pour Windows:
La première fois que vous pousser à une pension, une fenêtre vous demandera vos informations de connexion: nom d'utilisateur et votre PAT.
La prochaine fois, il ne demandez pas, et de réutiliser directement que PAT, qui reste stockées en toute sécurité dans votre Gestionnaire d'informations d'Identification.
Une idée similaire s'applique pour Mac avec OSX trousseau, et Linux avec le GNOME Keyring.
L'idée reste la même: stocker les PAT dans un chiffré informations d'identification magasin.
OriginalL'auteur VonC
Bien, vous devez enregistrer le jeton quelque part, lorsque vous ne voulez pas taper à chaque fois que votre application vous le demande 🙂
Une bonne solution est d'utiliser les variables d'environnement, comme l'a déjà suggéré dans un commentaire.
Mais vous devez définir la variable d'environnement quelque part.
Sur Windows (je suis sur), vous pouvez utiliser le boîte de dialogue dans les paramètres du système (je ne sais pas si d'autres systèmes d'exploitation ont quelque chose de similaire).
Je ne fais pas ça, je préfère un script dans mon projet.
Dans le cadre d'un projet privé, vous peut commettre ce contrôle de code source, mais c'est une question de préférence.
Dans un de mes projets personnels, je vais appeler l'API GitHub ainsi, à l'aide d'un jeton d'accès.
C'est une application en ligne de commande et l'utilisateur final permettra d'économiser le jeton dans un fichier de config (qui est OK).
Mais j'ai besoin de la clé pour le développement en tant que bien, parce que le projet a des tests d'intégration où je vais appeler l'API GitHub.
Et que le projet est public sur GitHub, donc je ne pouvais pas enregistrer le jeton de contrôle de code source.
Ce que j'ai fait est-ce:
environment-variables.bat
qui définit toutes les variables d'environnement requises, y compris le jeton d'accèsenvironment-variables.bat
est ignoré dans le contrôle de code sourceenvironnement-variables.chauve-souris.exemple
au lieu de cela, qui contient la même, mais un faux jeton/mot de passe.Donc je ne peux il suffit de renommer ce fichier à
environment-variables.bat
, remplacer le faux mot de passe par le vrai, et tout fonctionne.Ce n'est pas la solution parfaite pour tous les cas, si.
Dans mon projet, j'ai le problème que j'ai besoin d'utiliser plus de jetons/mots de passe pour plus d'Api dans l'avenir.
De sorte que le nombre de jetons dans mon
environment-variables.bat
sera augmenter, ce qui rend difficile pour les contributeurs potentiels à l'exécution de tous les tests d'intégration. Et j'ai encore ne sais pas comment traiter cette.OriginalL'auteur Christian Specht
Fondamentalement, je l'ai fait sur ma machine:
Mon script de profil est légèrement différent de celui décrit:
OriginalL'auteur memo
Je tiens à garder cryptés dans le référentiel et de les charger à l'aide de
.envrc
(https://direnv.net/)Pour ce faire, j'utilise ssh-vault pour chiffrer les données à l'aide de mon les clés ssh GitHub est déjà exposer, par exemple:
Alors le contenu de
.envrc
ressemble à quelque chose comme ceci:Cela permettra de déchiffrer les données en
my-encrypted-vars.ssh
fichier et mettre enMY_TOKEN
dans mes variables d'environnement à chaque fois que jecd
dans le projet dir.En faisant cela, jetons/les variables sont stockées en "toute sécurité" et toujours prêt à les utiliser comme des variables d'environnement
OriginalL'auteur nbari