{"meta":{"title":"GitHub アプリとしての認証","intro":"インストール アクセス トークンを生成したり、アプリを管理したりするために、GitHub App として認証できます。","product":"アプリ","breadcrumbs":[{"href":"/ja/apps","title":"アプリ"},{"href":"/ja/apps/creating-github-apps","title":"GitHub アプリの作成"},{"href":"/ja/apps/creating-github-apps/authenticating-with-a-github-app","title":"GitHub App で認証する"},{"href":"/ja/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app","title":"アプリとして認証する"}],"documentType":"article"},"body":"# GitHub アプリとしての認証\n\nインストール アクセス トークンを生成したり、アプリを管理したりするために、GitHub App として認証できます。\n\n## GitHub App としての認証について\n\nアプリケーションとして REST API 要求を行うには、GitHub App として認証を行う必要があります。 たとえば、API を使って、organization のリソースにアクセスするためのインストール アクセス トークンを生成したり、複数のアカウント全体についてアプリのインストールを一覧表示したり、アプリのインストールを一時停止したりする場合は、アプリとして認証する必要があります。\n\nユーザーがアプリとして認証を行う必要がある REST API エンドポイントの場合、そのエンドポイントのドキュメントで、JWT を使ってエンドポイントにアクセスする必要があることが示されています。 GraphQL API では、ユーザーが JWT を使って認証を行う必要があるクエリやミューテーションはサポートされていません。\n\n## JSON Web Token (JWT) を使用して GitHub App としての認証を行う\n\n1. アプリの JSON Web Token (JWT) を生成します。 詳しくは、「[GitHub アプリの JSON Web トークン (JWT) の生成](/ja/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-json-web-token-jwt-for-a-github-app)」をご覧ください。\n2. 要求の `Authorization` ヘッダーに JWT を含めます。 次の例では、`YOUR_JWT` を自分の JWT に置き換えてください。\n\n   ```shell\n   curl --request GET \\\n   --url \"https://api.github.com/app/installations\" \\\n   --header \"Accept: application/vnd.github+json\" \\\n   --header \"Authorization: Bearer YOUR_JWT\" \\\n   --header \"X-GitHub-Api-Version: 2026-03-10\"\n   ```\n\n## Octokit.js SDK を使用して GitHub App としての認証を行う\n\nGitHub の Octokit.js SDK を使って、GitHub App としての認証を行うことができます。 SDK を使って認証を行う利点の 1 つは、JSON Web Token (JWT) を自分で生成する必要がないことです。 さらに、JWT の期限が切れると、SDK によって再生成されます。\n\n> \\[!NOTE]\n> Octokit.js ライブラリを使うには、`octokit` をインストールしてインポートする必要があります。 次の例では、ES6 に従って import ステートメントを使っています。 インストールとインポートのさまざまな方法について詳しくは、octokit/octokit リポジトリの「[使用法](https://github.com/octokit/octokit.js/#usage)」セクションをご覧ください。\n\n1. アプリの ID を取得します。 アプリ ID は、お使いの GitHub App の \\[設定] ページで確認できます。 GitHub App の設定ページへのナビゲーションについては、「[GitHub アプリの登録の変更](/ja/apps/maintaining-github-apps/modifying-a-github-app-registration#navigating-to-your-github-app-settings)」を参照してください。\n\n2. 秘密キーを作成します。 詳しくは、「[GitHub アプリの秘密キーの管理](/ja/apps/creating-github-apps/authenticating-with-a-github-app/managing-private-keys-for-github-apps)」をご覧ください。\n\n3. `App` から `octokit` をインポートします。\n\n   ```javascript copy\n   import { App } from \"octokit\";\n   ```\n\n4. `App` の新しいインスタンスを作成します。 次の例では、`APP_ID` をアプリの ID への参照に置き換えます。\n   `PRIVATE_KEY` をアプリの秘密キーの値への参照に置き換えます。\n\n   ```javascript copy\n    const app = new App({\n     appId: APP_ID,\n     privateKey: PRIVATE_KEY,\n   });\n   ```\n\n5. JWT が必要な REST API エンドポイントに対して要求を行うには、`octokit` メソッドを使います。 次に例を示します。\n\n   ```javascript copy\n   await app.octokit.request(\"/app\")\n   ```"}