ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

その他の認証方式

本番環境以外でのテストには、Basic 認証を使用できます。

API は複数の認証方式を提供していますが、本番アプリケーションには OAuth を使用することを強くお勧めします。 他の方式は、スクリプトまたはテスト(完全な OAuth では過剰になる場合)に使用するために提供されています。 認証に GitHub を利用するサードパーティのアプリケーションでは、GitHub 認証情報を要求または収集してはなりません。 代わりに、OAuth web フローを使用してください。

Basic 認証

API は、RFC2617 で定義されている Basic 認証をサポートしていますが、若干の違いがあります。 主な違いは、RFC では、認証されていないリクエストに 401 Unauthorized レスポンスで応える必要がある点です。 これにより、多くの場所でユーザデータの存在が明らかになります。 代わりに、GitHub API は 404 Not Found で応答します。 これにより、401 Unauthorized レスポンスを想定する HTTP ライブラリで問題が発生する可能性があります。 これは Authorization ヘッダを手動で作成することで解決できます。

OAuth と個人アクセストークンを使用する

GitHub API への認証には OAuth トークンを使用することをお勧めします。 OAuth トークンには個人アクセストークンが含まれており、ユーザはいつでもアクセスを取り消すことができます。

$ curl -u username:token https://api.github.com/user

このアプローチは、ツールが Basic 認証のみをサポートしているが、OAuth アクセストークンのセキュリティ機能を利用したい場合に役立ちます。

ユーザ名とパスワードを使用する

注釈: GitHub は、すべての GitHub.com アカウントについて、API に対するパスワード認証を 2020 年 11 月 13 日で終了しました。GitHub Free、GitHub Pro、GitHub Team、または GitHub Enterprise Cloud プランのアカウントもこれに該当します。 今後、GitHub API への認証には API トークンを使用してください。アクセストークンの扱い方に応じて、OAuth アクセストークン、 GitHub App インストールアクセストークン、個人アクセストークンなどを使用できます。 詳しい情報については、「トラブルシューティング」を参照してください。

SAML SSO を認証する

注釈: 他のユーザに代わってトークンを生成するインテグレーションおよび OAuth アプリケーションは、自動的に承認されます。

認証にSAML SSOを強制しているOrganizationにアクセスするためAPIを使用している場合は、個人アクセストークン (PAT) を作成し、Organizationに対してそのトークンを認証する必要があります。 X-GitHub-SSO で指定された URL にアクセスして、Organization のトークンを承認します。

$ curl -v -H "Authorization: token TOKEN" https://api.github.com/repos/octodocs-test/test

> X-GitHub-SSO: required; url=https://github.com/orgs/octodocs-test/sso?authorization_request=AZSCKtL4U8yX1H3sCQIVnVgmjmon5fWxks5YrqhJgah0b2tlbl9pZM4EuMz4
{
  "message": "Resource protected by organization SAML enforcement. You must grant your personal token access to this organization.",
  "documentation_url": "https://docs.github.com"
}

複数の Organization からのデータをリクエストする場合(たとえば、ユーザが作成した Issue のリストをリクエストする場合)、X-GitHub-SSO ヘッダは、個人アクセストークンを承認する必要がある Organization を示します。

$ curl -v -H "Authorization: token TOKEN" https://api.github.com/user/issues

> X-GitHub-SSO: partial-results; organizations=21955855,20582480

organizations の値は、個人アクセストークンの承認が必要な Organization の Organization IDのカンマ区切りのリストです。

2 要素認証を使用する

2 要素認証を有効にしている場合、REST API のほとんどのエンドポイントの Basic 認証では、個人アクセストークン を使用する必要があります。

using GitHub 開発者設定を使用して新しい個人アクセストークンを生成することができます。 詳しい情報については、「コマンドラインの個人アクセストークンを作成する」を参照してください。 これらのトークンを使用し、GitHub API で OAuth トークンを使用して認証します。

このドキュメントは役立ちましたか? プライバシーポリシー

これらのドキュメントを素晴らしいものにするのを手伝ってください!

GitHubのすべてのドキュメントはオープンソースです。間違っていたり、はっきりしないところがありましたか?Pull Requestをお送りください。

コントリビューションを行う

OR, コントリビューションの方法を学んでください。

問題がまだ解決していませんか?

GitHubコミュニティで質問する サポートへの連絡