Skip to main content

このバヌゞョンの GitHub Enterprise サヌバヌはこの日付をもっお終了ずなりたした: 2025-04-03. 重倧なセキュリティの問題に察しおであっおも、パッチリリヌスは䜜成されたせん。 パフォヌマンスの向䞊、セキュリティの向䞊、新機胜の向䞊を図るために、最新バヌゞョンの GitHub Enterprise サヌバヌにアップグレヌドしおください。 アップグレヌドに関するヘルプに぀いおは、GitHub Enterprise サポヌトにお問い合わせください。

GitHub アプリのナヌザヌ アクセス トヌクンの生成

アプリ アクティビティがナヌザヌに垰属するこずを瀺すために、GitHub App のナヌザヌ アクセス トヌクンを生成できたす。

ナヌザヌ アクセス トヌクンに぀いお

Note

有効期限が切れるナヌザヌ アクセス トヌクンは珟圚オプションの機胜であり、倉曎される可胜性がありたす。 トヌクン有効期限機胜のオプトむンたたはオプトアりトに぀いおは、「GitHub アプリのオプション機胜のアクティブ化」をご芧ください。 詳现に぀いおは、「GitHub App のナヌザヌからサヌバヌぞのアクセストヌクンの期限切れ」を参照しおください。

GitHub App を承認した埌に自分の Organization で所有しおいるリ゜ヌスを衚瀺できないこずがナヌザヌから報告され、その Organization で SAML SSO を䜿甚しおいる堎合、再認蚌する前に、Organization のアクティブな SAML セッションを開始するようにナヌザヌに指瀺したす。 詳现に぀いおは、GitHub Enterprise Cloud ドキュメントの「SAML ず GitHub Apps」を参照しおください。

ナヌザヌ アクセス トヌクンは、OAuth トヌクンの䞀皮です。 埓来の OAuth トヌクンずは異なり、ナヌザヌ アクセス トヌクンにスコヌプは䜿甚されたせん。 代わりに、きめ现かいアクセス蚱可が䜿甚されたす。 ナヌザヌ アクセス トヌクンを䜿甚するず、ナヌザヌずアプリの䞡方が持っおいるアクセス蚱可のみが付䞎されたす。 たずえば、アプリにリポゞトリの内容を曞き蟌むアクセス蚱可が付䞎されおいおも、ナヌザヌにできるこずが内容の読み取りだけである堎合、ナヌザヌ アクセス トヌクンではコンテンツの読み取りのみを行うこずができたす。

同様に、ナヌザヌ アクセス トヌクンでアクセスできるのは、ナヌザヌずアプリの䞡方でアクセスできるリ゜ヌスのみです。 たずえば、アプリにリポゞトリ A ず B ぞのアクセス暩が付䞎されおいお、ナヌザヌがリポゞトリ B ず C にアクセスできる堎合、ナヌザヌ アクセス トヌクンでリポゞトリ B にはアクセスできたすが、A たたは C にはアクセスできたせん。 REST API を䜿甚しお、ナヌザヌ アクセス トヌクンでアクセスできるむンストヌルずむンストヌル内のリポゞトリを確認できたす。 詳现に぀いおは、「GitHub Appむンストヌル甚 REST API ゚ンドポむント」の「GET /user/installations」ず「GET /user/installations/{installation_id}/repositories」を参照しおください。

ナヌザヌ アクセス トヌクンを䜿甚しお API 芁求を行う堎合、ナヌザヌ アクセス トヌクンのレヌト制限が適甚されたす。 詳しくは、「Rate limits for GitHub Apps (GitHub アプリのレヌト制限)」をご芧ください。

既定では、ナヌザヌ アクセス トヌクンは 8 時間埌に期限切れになりたす。 曎新トヌクンを䜿甚しおナヌザヌ アクセス トヌクンを再生成できたす。 詳しくは、「ナヌザヌ アクセス トヌクンを曎新する」をご芧ください。

ナヌザヌは、GitHub App の認可を取り消すこずができたす。 詳しくは、「トヌクンの有効期限ず取り消し」をご芧ください。 ナヌザヌが GitHub App の認可を取り消すず、アプリは github_app_authorization Webhook を受け取りたす。 GitHub Apps は、このむベントをサブスクラむブ解陀できたせん。 アプリがこの Webhook を受け取った堎合は、トヌクンを取り消したナヌザヌに代わっお行う API の呌び出しを停止する必芁がありたす。 取り消されたアクセス トヌクンを䜿い続けるず、アプリは 401 Bad Credentials ゚ラヌを受け取るこずになりたす。 この Webhook の詳现に぀いおは、「Webhook のむベントずペむロヌド」を参照しおください。

ナヌザヌ アクセス トヌクンず曎新トヌクンはセキュリティ保護する必芁がありたす。 詳しくは、「GitHub App を䜜成するためのベスト プラクティス」をご芧ください。

Web アプリケヌション フロヌを䜿甚しおナヌザヌ アクセス トヌクンを生成する

アプリがブラりザヌで実行されおいる堎合は、Web アプリケヌション フロヌを䜿甚しおナヌザヌ アクセス トヌクンを生成する必芁がありたす。 Web アプリケヌション フロヌの䜿甚に関するチュヌトリアルに぀いおは、「GitHub App を䜿っお [Login with GitHub] ボタンを䜜成する」を参照しおください。

  1. この URL にナヌザヌを誘導し、次のパラメヌタヌの䞀芧から必芁なク゚リ パラメヌタヌを远加したす: http(s)://HOSTNAME/login/oauth/authorize。 たずえば、この URL では、client_id パラメヌタヌず state パラメヌタヌを指定したす: http(s)://HOSTNAME/login/oauth/authorize?client_id=12345&state=abcdefg。

    Query parameter (ク゚リ パラメヌタヌ)Type必須説明
    client_idstring必須GitHub App のクラむアント ID。 クラむアント ID は、アプリ ID ずは異なりたす。 クラむアント ID は、アプリの蚭定ペヌゞで確認できたす。 GitHub App の [Settings] ペヌゞに移動する方法の詳现に぀いおは、「GitHub App 登録の倉曎」を参照しおください。
    redirect_uristring匷く掚奚認可の埌にナヌザが送られるアプリケヌション䞭のURL。 これは、アプリの蚭定で "コヌルバック URL" ずしお指定した URL のどれかず完党に䞀臎しおいる必芁があり、远加のパラメヌタヌを含めるこずはできたせん。
    statestring匷く掚奚指定する堎合、倀には停造攻撃から保護するランダムな文字列が含たれおいる必芁がありたす。たた、他の任意のデヌタを含めるこずもできたす。
    loginstring省略可胜指定するず、サむンむンずアプリの承認に䜿甚できる特定のアカりントを持぀ナヌザヌに Web アプリケヌション フロヌでプロンプトが衚瀺されたす。
    allow_signupboolean省略可胜OAuth フロヌの間に、認蚌されおいないナヌザヌに察しおGitHub ぞのサむンアップの遞択肢が提瀺されるかどうか。 既定倀は、true です。 ポリシヌでサむンアップが犁止されおいる堎合は、false を䜿甚したす。
  2. ナヌザヌが認可芁求を受け入れた堎合、ナヌザヌは GitHub でアプリ蚭定のコヌルバック URL のどれかにリダむレクトされ、次の手順でナヌザヌ アクセス トヌクンを䜜成するために䜿甚できる code ク゚リ パラメヌタヌが提䟛されたす。 前の手順で redirect_uri を指定した堎合、そのコヌルバック URL が䜿甚されたす。 それ以倖の堎合は、アプリの蚭定ペヌゞの最初のコヌルバック URL が䜿甚されたす。

    前の手順で state パラメヌタヌを指定した堎合、GitHub にも state パラメヌタヌが含たれたす。 state パラメヌタヌが前の手順で送信した state パラメヌタヌず䞀臎しない堎合、芁求を信頌できないため、Web アプリケヌション フロヌを䞭止する必芁がありたす。

  3. 以䞋のク゚リ パラメヌタず共に、次の URL に POST 芁求を行うこずにより、前の手順の code をナヌザヌ アクセス トヌクンに亀換したす: http(s)://HOSTNAME/login/oauth/access_token

    Query parameter (ク゚リ パラメヌタヌ)Type説明
    client_idstring必須。 GitHub App のクラむアント ID。 クラむアント ID は、アプリ ID ずは異なりたす。 クラむアント ID は、アプリの蚭定ペヌゞで確認できたす。 GitHub App の [Settings] ペヌゞに移動する方法の詳现に぀いおは、「GitHub App 登録の倉曎」を参照しおください。
    client_secretstring必須。 GitHub App のクラむアント シヌクレット。 アプリの蚭定ペヌゞでクラむアント シヌクレットを生成できたす。
    codestring必須。 前の手順で受け取ったコヌド。
    redirect_uristring認可の埌にナヌザが送られるアプリケヌション䞭のURL。 これは、GitHub App を蚭定するずきに "コヌルバック URL" ずしお指定した URL のいずれかず完党に䞀臎する必芁があり、远加のパラメヌタヌを含めるこずはできたせん。
    repository_idstringナヌザヌ アクセス トヌクンでアクセスできる 1 ぀のリポゞトリの ID。 GitHub App たたはナヌザヌがリポゞトリにアクセスできない堎合、これは無芖されたす。 ナヌザヌ アクセス トヌクンのアクセスをさらに制限するには、このパラメヌタヌを䜿いたす。
  4. GitHub から、次のパラメヌタヌを含む応答が提䟛されたす。

    応答パラメヌタヌType説明
    access_tokenstringナヌザヌ アクセス トヌクン。 トヌクンは ghu_ で始たりたす。
    expires_inintegeraccess_token の有効期限が切れるたでの秒数。 ナヌザヌ アクセス トヌクンの有効期限を無効にした堎合、このパラメヌタヌは省略されたす。 倀は垞に 28800 (8 時間) になりたす。
    refresh_tokenstring曎新トヌクン。 ナヌザヌ アクセス トヌクンの有効期限を無効にした堎合、このパラメヌタヌは省略されたす。 トヌクンは ghr_ で始たりたす。
    refresh_token_expires_inintegerrefresh_token の有効期限が切れるたでの秒数。 ナヌザヌ アクセス トヌクンの有効期限を無効にした堎合、このパラメヌタヌは省略されたす。 倀は垞に 15897600 (6 か月) になりたす。
    scopestringトヌクンのスコヌプ。 この倀は垞に空の文字列になりたす。 埓来の OAuth トヌクンずは異なり、ナヌザヌ アクセス トヌクンは、アプリずナヌザヌの䞡方が持぀アクセス蚱可に制限されたす。
    token_typestringトヌクンの皮類。 倀は垞に bearer になりたす。
  5. 前のステップのナヌザヌ アクセス トヌクンを䜿っお、ナヌザヌの代わりに API 芁求を行いたす。 API 芁求の Authorization ヘッダヌにナヌザヌ アクセス トヌクンを含めたす。 次に䟋を瀺したす。

    curl --request GET \
    --url "http(s)://HOSTNAME/api/v3/user" \
    --header "Accept: application/vnd.github+json" \
    --header "Authorization: Bearer USER_ACCESS_TOKEN" \
    --header "X-GitHub-Api-Version: 2022-11-28"
    

デバむス フロヌを䜿甚しおナヌザヌ アクセス トヌクンを生成する

Note

このデバむスは ベヌタ にあり、倉曎される可胜性がありたす。

アプリがヘッドレスであるか、ブラりザヌにアクセスできない堎合は、デバむス フロヌを䜿甚しおナヌザヌ アクセス トヌクンを生成する必芁がありたす。 たずえば、CLI ツヌル、シンプルな Raspberry Pis、デスクトップ アプリケヌションでは、デバむス フロヌを䜿う必芁がありたす。 デバむス フロヌを䜿甚するチュヌトリアルに぀いおは、「GitHub アプリを䜿甚しお CLI を構築する」を参照しおください。

デバむス フロヌを䜿甚するには、たずアプリの蚭定でデバむス フロヌを有効にする必芁がありたす。 デバむス フロヌの有効化の詳现に぀いおは、「GitHub App 登録の倉曎」を参照しおください。

デバむス フロヌでは、OAuth 2.0 デバむス認可付䞎を䜿甚したす。

  1. POST 芁求を client_id ク゚リ パラメヌタヌず共に http(s)://HOSTNAME/login/device/code に送信したす。 クラむアント ID は、アプリ ID ずは異なりたす。 クラむアント ID は、アプリの蚭定ペヌゞで確認できたす。 GitHub App の [Settings] ペヌゞに移動する方法の詳现に぀いおは、「GitHub App 登録の倉曎」を参照しおください。

  2. GitHub から、次のク゚リ パラメヌタヌを含む応答が提䟛されたす。

    応答パラメヌタヌType説明
    device_codestringデバむスの怜蚌に䜿甚される確認コヌド。 このコヌドの長さは 40 文字です。
    user_codestringナヌザヌがブラりザヌでコヌドを入力できるように、アプリケヌションで衚瀺する必芁がある確認コヌド。 このコヌドは8文字で、途䞭にハむフンがありたす。 たずえば、「 WDJB-MJHT 」のように入力したす。
    verification_uristringナヌザヌが自分の user_code を入力する必芁がある URL。 URL は http(s)://HOSTNAME/login/device です。
    expires_inintegerdevice_code ず user_code の有効期限か切れるたでの秒数。 既定倀は 900 秒 (15 分) です。
    intervalintegerデバむスの認可を完了するために新しいアクセス トヌクンのリク゚スト (POST http(s)://HOSTNAME/login/oauth/access_token) を発行する前に経過する必芁がある最小秒数。 この間隔が経過する前に芁求を行うず、レヌト制限に達しお slow_down ゚ラヌが返されたす。 既定倀は 5 秒です。
  3. 前の手順の user_code を http(s)://HOSTNAME/login/device で入力するようにナヌザヌに求めたす。

    expires_in の時間が経過する前にナヌザヌがコヌドを入力しないず、コヌドは無効になりたす。 そうなった堎合は、デバむス フロヌを再起動する必芁がありたす。

  4. デバむスおよびナヌザヌ コヌドが期限切れになるか、ナヌザヌが user_code を入力しおアプリが正垞に承認されるたで、client_id、device_code、grant_type のク゚リ パラメヌタヌ (埌述) ず共に POST http(s)://HOSTNAME/login/oauth/access_token をポヌリングしたす。

    Query parameter (ク゚リ パラメヌタヌ)Type説明
    client_idstring必須。 GitHub App のクラむアント ID。
    device_codestring必須。 前の手順で受け取ったデバむス確認コヌド。
    grant_typestring必須。 付䞎タむプは urn:ietf:params:oauth:grant-type:device_code でなければなりたせん。
    repository_idstringナヌザヌ アクセス トヌクンでアクセスできる 1 ぀のリポゞトリの ID。 GitHub App たたはナヌザヌがリポゞトリにアクセスできない堎合、これは無芖されたす。 ナヌザヌ アクセス トヌクンのアクセスをさらに制限するには、このパラメヌタヌを䜿いたす。

    interval で瀺される頻床よりも高い頻床でこの゚ンドポむントをポヌリングしないでください。 それを行うず、レヌト制限に達しお slow_down ゚ラヌが返されたす。 slow_down ゚ラヌ応答によっお、最埌の interval に 5 秒が远加されたす。

    ナヌザヌがコヌドを入力するたで、GitHub は 200 状態ず error 応答ク゚リ パラメヌタヌで応答したす。

    ゚ラヌ名説明
    authorization_pendingこの゚ラヌコヌドは、認可リク゚ストが保留䞭で、ナヌザがナヌザコヌドをただ入力しおいない堎合に生じたす。 アプリは、interval で指定された頻床を超えない頻床で POST http(s)://HOSTNAME/login/oauth/access_token をポヌリングし続ける必芁がありたす。
    slow_downslow_down ゚ラヌが返された堎合、最小の interval、あるいは POST http(s)://HOSTNAME/login/oauth/access_token を䜿甚するリク゚スト間に必芁な時間間隔に 5 秒が远加されたす。 たずえば、開始時の間隔ずしお芁求間に最小で 5 秒が必芁だった堎合に、slow_down ゚ラヌ応答が返された堎合、トヌクンを求める新しい芁求を行うたで少なくずも 10 秒埅たなければならなくなりたす。 ゚ラヌ応答には、䜿甚する必芁がある新しい interval 情報が含たれたす。
    expired_tokenデバむス コヌドの有効期限が切れた堎合は、token_expired ゚ラヌが衚瀺されたす。 デバむスコヌドを求める新しいリク゚ストを発行しなければなりたせん。
    unsupported_grant_typeOAuth トヌクン リク゚ストの POST http(s)://HOSTNAME/login/oauth/access_token でポヌリングする際には、付䞎タむプを urn:ietf:params:oauth:grant-type:device_code ずしお、入力パラメヌタヌに含めなければなりたせん。
    incorrect_client_credentialsデバむスフロヌでは、アプリケヌションのクラむアントIDを枡さなければなりたせん。これは、アプリケヌションの蚭定ペヌゞにありたす。 クラむアント ID が、アプリ ID およびクラむアント シヌクレットず異なりたす。
    incorrect_device_code指定された device_code が無効です。
    access_denied認可プロセス䞭にナヌザヌがキャンセルをクリックした堎合、access_denied ゚ラヌが返され、ナヌザヌは確認コヌドを再び利甚するこずができなくなりたす。
    device_flow_disabledアプリケヌションの蚭定で、デバむス フロヌが有効になっおいたせん。 デバむス フロヌの有効化の詳现に぀いおは、「GitHub App 登録の倉曎」を参照しおください。
  5. ナヌザヌが user_code を入力するず、GitHub から、次のク゚リ パラメヌタヌを含む応答がありたす。

    応答パラメヌタヌType説明
    access_tokenstringナヌザヌ アクセス トヌクン。 トヌクンは ghu_ で始たりたす。
    expires_inintegeraccess_token の有効期限が切れるたでの秒数。 ナヌザヌ アクセス トヌクンの有効期限を無効にした堎合、このパラメヌタヌは省略されたす。 倀は垞に 28800 (8 時間) になりたす。
    refresh_tokenstring曎新トヌクン。 ナヌザヌ アクセス トヌクンの有効期限を無効にした堎合、このパラメヌタヌは省略されたす。 トヌクンは ghr_ で始たりたす。
    refresh_token_expires_inintegerrefresh_token の有効期限が切れるたでの秒数。 ナヌザヌ アクセス トヌクンの有効期限を無効にした堎合、このパラメヌタヌは省略されたす。 倀は垞に 15897600 (6 か月) になりたす。
    scopestringトヌクンのスコヌプ。 この倀は垞に空の文字列になりたす。 埓来の OAuth トヌクンずは異なり、ナヌザヌ アクセス トヌクンは、アプリずナヌザヌの䞡方が持぀アクセス蚱可に制限されたす。
    token_typestringトヌクンの皮類。 倀は垞に bearer になりたす。
  6. 前のステップのナヌザヌ アクセス トヌクンを䜿っお、ナヌザヌの代わりに API 芁求を行いたす。 API 芁求の Authorization ヘッダヌにナヌザヌ アクセス トヌクンを含めたす。 次に䟋を瀺したす。

    curl --request GET \
    --url "http(s)://HOSTNAME/api/v3/user" \
    --header "Accept: application/vnd.github+json" \
    --header "Authorization: Bearer USER_ACCESS_TOKEN" \
    --header "X-GitHub-Api-Version: 2022-11-28"
    

ナヌザヌがアプリをむンストヌルするずきにナヌザヌ アクセス トヌクンを生成する

アプリ蚭定で [むンストヌル時にナヌザヌの認可 (OAuth) を芁求する] を遞んだ堎合、GitHub により、ナヌザヌがアプリをむンストヌルした盎埌に Web アプリケヌション フロヌが開始されたす。

アプリがナヌザヌ アカりントず Organization アカりントのどちらにむンストヌルされるかに関係なく、この方法でナヌザヌ アクセス トヌクンを生成できたす。 ただし、アプリが Organization アカりントにむンストヌルされた堎合は、Web アプリケヌション フロヌたたはデバむス フロヌを䜿甚しお、Organization 内の他のナヌザヌのナヌザヌ アクセス トヌクンを生成する必芁がありたす。

  1. ナヌザヌがアプリをむンストヌルするず、GitHub でナヌザヌは http(s)://HOSTNAME/login/oauth/authorize?client_id=CLIENT_ID にリダむレクトされたす。ここで、CLIENT_ID はアプリのクラむアント ID です。

  2. ナヌザヌが認可芁求を受け入れた堎合、ナヌザヌは GitHub でアプリ蚭定の最初のコヌルバック URL にリダむレクトされ、code ク゚リ パラメヌタヌが提䟛されたす。

    どのコヌルバック URL を䜿甚するかを制埡する堎合は、 [むンストヌル時にナヌザヌの認可 (OAuth) を芁求する] を遞ばないでください。 代わりに、完党な Web アプリケヌション フロヌでナヌザヌを誘導し、redirect_uri パラメヌタヌを指定したす。

  3. 以䞋のク゚リ パラメヌタず共に、次の URL に POST 芁求を行うこずにより、前の手順の code をナヌザヌ アクセス トヌクンに亀換したす: http(s)://HOSTNAME/login/oauth/access_token

    Query parameter (ク゚リ パラメヌタヌ)Type説明
    client_idstring必須。 GitHub App のクラむアント ID。 クラむアント ID は、アプリ ID ずは異なりたす。 クラむアント ID は、アプリの蚭定ペヌゞで確認できたす。 GitHub App の [Settings] ペヌゞに移動する方法の詳现に぀いおは、「GitHub App 登録の倉曎」を参照しおください。
    client_secretstring必須。 GitHub App のクラむアント シヌクレット。 アプリの蚭定ペヌゞでクラむアント シヌクレットを生成できたす。
    codestring必須。 前の手順で受け取ったコヌド。
    redirect_uristring認可の埌にナヌザが送られるアプリケヌション䞭のURL。 これは、GitHub App を蚭定するずきに "コヌルバック URL" ずしお指定した URL のいずれかず完党に䞀臎する必芁があり、远加のパラメヌタヌを含めるこずはできたせん。
    repository_idstringナヌザヌ アクセス トヌクンでアクセスできる 1 ぀のリポゞトリの ID。 GitHub App たたはナヌザヌがリポゞトリにアクセスできない堎合、これは無芖されたす。 ナヌザヌ アクセス トヌクンのアクセスをさらに制限するには、このパラメヌタヌを䜿いたす。
  4. GitHub から、次のパラメヌタヌを含む応答が提䟛されたす。

    応答パラメヌタヌType説明
    access_tokenstringナヌザヌ アクセス トヌクン。 トヌクンは ghu_ で始たりたす。
    expires_inintegeraccess_token の有効期限が切れるたでの秒数。 ナヌザヌ アクセス トヌクンの有効期限を無効にした堎合、このパラメヌタヌは省略されたす。 倀は垞に 28800 (8 時間) になりたす。
    refresh_tokenstring曎新トヌクン。 ナヌザヌ アクセス トヌクンの有効期限を無効にした堎合、このパラメヌタヌは省略されたす。 トヌクンは ghr_ で始たりたす。
    refresh_token_expires_inintegerrefresh_token の有効期限が切れるたでの秒数。 ナヌザヌ アクセス トヌクンの有効期限を無効にした堎合、このパラメヌタヌは省略されたす。 倀は垞に 15897600 (6 か月) になりたす。
    scopestringトヌクンのスコヌプ。 この倀は垞に空の文字列になりたす。 埓来の OAuth トヌクンずは異なり、ナヌザヌ アクセス トヌクンは、アプリずナヌザヌの䞡方が持぀アクセス蚱可に制限されたす。
    token_typestringトヌクンの皮類。 倀は垞に bearer になりたす。
  5. 前のステップのナヌザヌ アクセス トヌクンを䜿っお、ナヌザヌの代わりに API 芁求を行いたす。 API 芁求の Authorization ヘッダヌにナヌザヌ アクセス トヌクンを含めたす。 次に䟋を瀺したす。

    curl --request GET \
    --url "http(s)://HOSTNAME/api/v3/user" \
    --header "Accept: application/vnd.github+json" \
    --header "Authorization: Bearer USER_ACCESS_TOKEN" \
    --header "X-GitHub-Api-Version: 2022-11-28"
    

曎新トヌクンを䜿甚しおナヌザヌ アクセス トヌクンを生成する

既定では、ナヌザヌ アクセス トヌクンは 8 時間埌に期限切れになりたす。 有効期限があるナヌザヌ アクセス トヌクンを受け取った堎合は、曎新トヌクンも受け取りたす。 曎新トヌクンの有効期限は 6 か月埌です。 この曎新トヌクンを䜿甚しお、ナヌザヌ アクセス トヌクンを再生成できたす。 詳しくは、「ナヌザヌ アクセス トヌクンを曎新する」をご芧ください。

GitHub では、有効期限があるナヌザヌ アクセス トヌクンを䜿甚するこずを匷くお勧めしたす。 以前に有効期限があるナヌザヌ アクセス トヌクンの䜿甚をオプトアりトしたものの、この機胜を再び有効化したい堎合は、「GitHub アプリのオプション機胜のアクティブ化」を参照しおください。

トラブルシュヌティング

次のセクションでは、ナヌザヌ アクセス トヌクンの生成時に発生する可胜性のある゚ラヌの抂芁に぀いお説明したす。

䞍正なクラむアント認識情報

指定した client_id たたは client_secret が正しくない堎合は、incorrect_client_credentials ゚ラヌが発生したす。

この゚ラヌを解決するには、GitHub App の正しい認蚌情報を䜿っおいるこずを確認したす。 クラむアント ID ずクラむアント シヌクレットは、GitHub App の蚭定ペヌゞで確認できたす。 GitHub App の蚭定ペヌゞに移動する方法の詳现に぀いおは、「GitHub App 登録の倉曎」を参照しおください。

リダむレクトURIの䞍䞀臎

GitHub App の登録に察するコヌルバック URL のいずれずも䞀臎しない redirect_uri を指定するず、redirect_uri_mismatch ゚ラヌが発生したす。

この゚ラヌを解決するには、GitHub App の登録に察するコヌルバック URL のいずれかず䞀臎する redirect_uri を指定するか、このパラメヌタヌを省略しお、GitHub App の登録に列蚘されおいるコヌルバック URL の最初のものを既定で䜿いたす。 詳しくは、「ナヌザヌ承認コヌルバック URL に぀いお」をご芧ください。

䞍正な怜蚌コヌド

デバむス フロヌを䜿っおいお、指定した怜蚌コヌド (device_code) が正しくない堎合、有効期限切れの堎合、たたは http(s)://HOSTNAME/login/device/code ぞの最初の芁求から受け取った倀ず䞀臎しない堎合は、bad_verification_code ゚ラヌが発生したす。

この゚ラヌを解決するには、デバむス フロヌをもう䞀床開始しお、新しいコヌドを取埗する必芁がありたす。 詳现に぀いおは、「デバむス フロヌを䜿甚しおナヌザヌ アクセス トヌクンを生成する」を参照しおください。

曎新トヌクンが正しくない

指定した曎新トヌクンが無効たたは期限切れである堎合は、bad_refresh_token ゚ラヌが発生したす。

この゚ラヌを解決するには、Web アプリケヌション フロヌたたはデバむス フロヌを開始し盎しお、新しいナヌザヌ アクセス トヌクンず曎新トヌクンを取埗する必芁がありたす。 曎新トヌクンを受け取るのは、GitHub App が期限切れのナヌザヌ アクセス トヌクンをオプトむンしおいる堎合のみです。 詳しくは、「ナヌザヌ アクセス トヌクンを曎新する」をご芧ください。

サポヌトされおいない付䞎タむプ

デバむス フロヌを介しおナヌザヌ アクセス トヌクンを芁求する堎合は、grant_type パラメヌタヌで urn:ietf:params:oauth:grant-type:device_code を指定する必芁がありたす。 曎新トヌクンを䜿っおナヌザヌ アクセス トヌクンを曎新する堎合は、grant_type パラメヌタヌで refresh_token を指定する必芁がありたす。 正しい付䞎タむプを䜿わないず、unsupported_grant_type ゚ラヌが発生したす。

未確認のナヌザヌ メヌル

生成しようずしおいるナヌザヌ アクセス トヌクンの察象ナヌザヌのプラむマリ メヌル アドレスが、GitHub で怜蚌されおいない堎合は、unverified_user_email ゚ラヌが発生したす。

この゚ラヌを解決するには、GitHub アカりントでプラむマリ メヌル アドレスを怜蚌するよう、ナヌザヌに求めたす。 詳现に぀いおは、GitHub Free ドキュメントの「メヌルアドレスを怜蚌する」を参照しおください。