web-dev-qa-db-ja.com

oauthアクセストークンを使用したGithubクローン

スクリプト内で、oauthトークンを使用してGithubリポジトリを複製しようとしています。

このチュートリアルによると:

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

次のようなコマンドを作成できるはずです。

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

適切なアクセストークンを使用してこれを手動で試しても、パスワードの入力が求められます。

コマンドラインで試してみると、単にrepository not foundエラーが表示されます。

この記事は2012年のもので、これに関するAPIドキュメントは見つかりません。だから私はこれがまだ機能するかどうか疑問に思っています。

30
Stephan-v

私はスコープの問題であることが判明しました。もちろん、repoリポジトリを複製しようとしていたので、完全なprivateスコープが必要でした。

残念なことに、Githubにはこれらの種類の明確なエラーメッセージはありませんが、セキュリティに関しては理由がわかります。

このようなことを試みるときに何が悪いのかを理解しようとする人のために、私はすべてに完全にアクセスできる個人アクセストークンを作成することをお勧めします:

設定>開発者設定>個人アクセストークン>新しいトークンを生成

このように、トークンをすべてのアクセス権を持つ個人アクセストークンと比較することで、スコープの問題かどうかを簡単にテストできます。

まだ時間をかけてこれを読んでくれた人に感謝します。

40
Stephan-v

.netコアでは、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

これらの2つの選択肢からあなたのために働くものは何でもしてください

端末で

$ git clone your_repo_url Username:your_token Password:

...パスワードがありません

gitクライアントアプリで

つまり、Sourcetree、GitKraken、およびGitHubクライアント。

Repo_urlを入力します(「$ git clone part」なしで)

Username:your_token Password:

...パスワードがありません

またはつまり、ソースツリーで設定を開き、詳細設定に進み、ホスト名(つまりwww.x.com)とユーザー名(つまりyour_token)を入力します

enter image description here

????

0
t.ios