Skip to main content
ドキュメントへの更新が頻繁に発行されており、このページの翻訳はまだ行われている場合があります。 最新の情報については、「英語のドキュメント」を参照してください。

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2023-03-15. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise にアップグレードします。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせください

REST API に対する認証

REST API に対して認証を行って、より多くのエンドポイントにアクセスし、レート制限を高めることができます。

認証について

多くの REST API エンドポイント操作では、認証が必要であるか、認証されている場合は追加情報が返されます。 さらに、認証されている場合は 1 時間あたりの要求を増やすことができます。

要求の Authorization ヘッダーでトークンを送信することで、要求を認証できます。 次の例では、YOUR-TOKEN をトークンへの参照に置き換えます。

curl --request GET \
--url "http(s)://HOSTNAME/api/v3/octocat" \
--header "Authorization: Bearer YOUR-TOKEN"

注: ほとんどの場合は、Authorization: Bearer または Authorization: token を使用してトークンを渡すことができます。 ただし、JSON Web トークン (JWT) を渡す場合は、Authorization: Bearer を使用する必要があります。

トークンなしで、またはアクセス許可が不十分なトークンで REST API エンドポイントを使用しようとすると、404 Not Found または 403 Forbidden 応答を受け取ります。

personal access token で認証を行う

個人用に GitHub REST API を使用する場合は、personal access token を作成できます。personal access token の作成について詳しくは、「Managing your personal access tokens」を参照してください。

アプリによって生成されたトークンを使用した認証

Organization で、または他のユーザーの代わりに API を使用する場合、GitHub では、GitHub App の使用が推奨されます。 詳しくは、「GitHub アプリでの認証について」を参照してください。

また、OAuth App を使用して OAuth トークンを作成し、REST API にアクセスすることもできます。 しかし、GitHub では、代わりに GitHub App を使用することが推奨されます。 GitHub App を使用すると、アプリのアクセスとアクセス許可をより詳細に制御できます。

基本認証を使用する

GitHub App と OAuth App の一部の REST API エンドポイントでは、基本認証を使用してエンドポイントにアクセスする必要があります。 ユーザー名としてアプリのクライアント ID を使用し、パスワードとしてアプリのクライアント シークレットを使用します。

次に例を示します。

curl --request POST \
--url "http(s)://HOSTNAME/api/v3/authorizations" \
--user ":"

クライアント ID を見つけて、アプリの設定ページでクライアント シークレットを生成できます。 ユーザー所有の GitHub App の場合、設定ページは https://github.com/settings/apps/APP-SLUG です。 Organization 所有の GitHub App の場合、設定ページは https://github.com/organizations/ORGANIZATION/settings/apps/APP-SLUG です。 APP-SLUG をアプリのスラッグ化された名前に置き換え、ORGANIZATION を組織のスラッグ化された名前に置き換えます。 たとえば、「 https://github.com/organizations/octo-org/settings/apps/octo-app 」のように入力します。

GitHub Actions ワークフローにおける認証

GitHub Actions ワークフローで API を使用する場合、GitHub では、トークンを作成するのではなく、組み込み GITHUB_TOKEN で認証することが推奨されます。 permissions キーを使用して、GITHUB_TOKEN へのアクセス許可を付与できます。 詳しくは、「自動トークン認証」を参照してください。

ユーザー名とパスワードによる認証

GitHub では、パスワードではなく、トークンを使用して REST API に対する認証を行うことが推奨されます。 トークンで行うことができる内容をより詳細に制御でき、いつでもトークンを取り消すことができます。 しかし、基本認証にユーザー名とパスワードを使用して REST API に対して認証することもできます。 これを行うには、--user オプションを使用してユーザー名とパスワードを渡します。

curl --request GET \
--url "http(s)://HOSTNAME/api/v3/user" \
--user USERNAME:PASSWORD