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

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2022-06-03. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてく� さい。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してく� さい。

その他の認証方式

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

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

Basic 認証

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

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

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

$ curl -u username:token http(s)://[hostname]/api/v3/user

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

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

Basic 認証を GitHub Enterprise Server APIは、アカウントに 対応するユーザ名とパスワードを送信する� けです。

たとえば、cURL を介して API にアクセスしている� �合、<username> を GitHub Enterprise Server のユーザ名に置き換えると、次のコマンドで認証されます。 (cURL からパスワードの入力を求められます。)

$ curl -u username http(s)://[hostname]/api/v3/user

2 要� 認証を有効にしている� �合は、2 要� 認証の使用方法を理解した上で行ってく� さい。

2 要� 認証を使用する

2 要� 認証を有効にしている� �合、REST API のほとんどのエンドポイントの Basic 認証では、個人アクセストークン または OAuth トークンをユーザ名とパスワードの代わりに を使用する必要があります。

新しい個人アクセストークンを生成するか、 OAuth Authorizations API で [新しい認証の作成][/rest/reference/oauth-authorizations#create-a-new-authorization] エンドポイントを使用して新しい OAuth トークンを生成することができます。 詳しい情� �については、「コマンドラインの個人アクセストークンを作成する」を参照してく� さい。 そうすれば、それらのトークンを使ってGitHub Enterprise Server APIからOAuthトークンで認証を受けます。ユーザ名とパスワードで認証を受ける必要があるのは、OAuthトークンを作成する際、あるいはOAuth Authorizations APIを使用するときのみです。

2 要� 認証で OAuth Authorizations API を使用する

OAuth Authorizations API を呼び出す� �合、Basic 認証では、トークンの代わりにワンタイ� パスワード(OTP)とユーザ名とパスワードを使用する必要があります。 OAuth Authorizations API で認証しようとすると、サーバは 401 Unauthorized とこれらのヘッダの 1 つで応答し、2 要� 認証コードが必要であることを通知します。

X-GitHub-OTP: required; SMS または X-GitHub-OTP: required; app

このヘッダは、アカウントの 2 要� 認証コードの受け取り方法を示します。 アカウントの設定方法に応じて、SMS 経由で OTP コードを受け取るか、Google 認証システ� や 1Password などのアプリケーションを使用します。 詳しい情� �については「2 要� 認証の設定」を参照してく� さい。 ヘッダーで次のように OTP を渡します。

$ curl --request POST \
  --url https://api.github.com/authorizations \
  --header 'authorization: Basic PASSWORD' \
  --header 'content-type: application/json' \
  --header 'x-github-otp: OTP' \
  --data '{"scopes": ["public_repo"], "note": "test"}'