web-dev-qa-db-fra.com

Clone Github avec oauth jeton d'accès

Dans un script, j'essaie de cloner un référentiel Github avec un jeton oauth.

Selon ce tutoriel:

https://github.com/blog/1270-easier-builds-and-deployments-using-git-over-https-and-oauth

Je devrais être capable de construire une commande pour ça comme ça:

git clone https://<token>@github.com/owner/repo.git

Si j'essaie cela manuellement avec un jeton d'accès approprié, mon mot de passe est toujours demandé.

Si je l'essaie sur la ligne de commande, je reçois simplement un repository not found Erreur.

L'article est de 2012 et je ne trouve pas de documentation API pour cela. Je me demande donc si cela fonctionne toujours.

30
Stephan-v

Je me suis avéré être une question de portée. J'avais bien sûr besoin de la totalité de la portée de repo puisque je tentais de cloner un référentiel private.

Dommage, Github n'a pas de message d'erreur plus clair pour ce genre de choses, mais en ce qui concerne la sécurité, je comprends pourquoi.

Pour ceux qui essaient de comprendre ce qui ne va pas lorsqu’on essaie quelque chose comme cela, je suggère de créer un jeton d’accès personnel avec un accès complet à tout:

paramètres> paramètres de développeur> jetons d'accès personnel> générer un nouveau jeton

De cette façon, vous pouvez facilement vérifier s'il s'agit d'un problème de portée en comparant votre jeton avec un jeton d'accès personnel disposant de droits d'accès pour tout.

Merci à tous ceux qui ont encore pris le temps de lire ceci.

40
Stephan-v

Vous pouvez le faire de la manière suivante dans le noyau .net avec Azure DevOps Repo:

 public void CloneRepository()
        {
            var _gitURL = "URLofGitRemoteRepository";
            var _userName = "PersonalAccessToken";
            var _pswd = ""; //Keep it blank

            var co = new CloneOptions();
            co.CredentialsProvider = (_url, _user, _cred) => new UsernamePasswordCredentials { Username = _userName, Password = _pswd };

            Repository.Clone(_gitURL, filePath, co);
        }
0
Insa

Faites ce qui vous convient parmi ces deux choix

Dans votre terminal

$ git clone your_repo_url Username:your_token Password:

... il n'y a pas de mot de passe

Dans votre application cliente Git

c'est-à-dire Sourcetree, GitKraken et le client GitHub.

Entrez votre repo_url (évidemment, sans '$ git clone part')

Username:your_token Password:

... il n'y a pas de mot de passe

[~ # ~] ou [~ # ~] c'est-à-dire dans Sourcetree, ouvrez les préférences, puis allez à avancé, entrez le nom d'hôte (c'est-à-dire www.x. com) et userName (c'est-à-dire votre_token)

enter image description here

????

0
t.ios