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

ユーザーに代わって GitHub アプリで認証する

GitHub App は、issue の作成、コメントの投稿、デプロイの作成などのアクションをユーザーの代わりに実行できます。

アプリは、ユーザーに代わって API 要求を行うことができます。 アプリがユーザーに代わって行った API 要求は、そのユーザーに帰属します。 たとえば、アプリがユーザーに代わってコメントを投稿した場合、GitHub UI には、ユーザーのアバター写真とアプリのアイデンティコン バッジがイシューの作成者として表示されます。

アプリのアイデンティコン バッジがオーバーレイされたユーザー アバターがあるコメントのスクリーンショット。 アバターがオレンジ色の枠線で強調表示されています。

同様に、要求によって監査ログとセキュリティ ログ内の対応するエントリがトリガーされた場合、ログにはユーザーがアクターとして一覧表示されますが、"programmatic_access_type" が "GitHub App user-to-server token" であると示されます。

ユーザーに代わって API 要求を行うには、ユーザーがアプリを承認する必要があります。 複数のメンバーを含む Organization にアプリがインストールされている場合は、アプリがメンバーに代わって動作する前に、各メンバーがアプリを承認する必要があります。 ユーザーがアプリを承認するためにアプリをインストールする必要はありません。

ユーザーは、自分のアカウントまたは Organization にアプリをインストールするときに、要求された Organization とリポジトリのリソースにアクセスするためのアクセス許可をアプリに付与します。 インストール プロセスの間に、アプリが個々のユーザーに対して要求できるアカウント アクセス許可の一覧も表示されます。 ユーザーは、アプリを承認するときに、ユーザーの代わりに動作するためのアクセス許可をアプリに付与し、アプリから要求されたアカウント アクセス許可を付与します。

ユーザーがアプリを承認したら、OAuth トークンの一種であるユーザー アクセス トークンを生成できます。 後続の API 要求の Authorization ヘッダーにあるユーザー アクセス トークンを送信する必要があります。 ユーザーにアプリの承認を求め、ユーザー アクセス トークンを生成する方法について詳しくは、「GitHub アプリのユーザー アクセス トークンの生成」を参照してください。

ユーザー アクセス トークンを使用して行われた要求は、"ユーザーからサーバーへの" 要求と呼ばれることもあります。

アプリのアクティビティをユーザーではなくアプリに帰属させる場合は、代わりにアプリのインストールとして認証する必要があります。 詳しくは、「GitHub App インストールとしての認証」を参照してください。