Skip to main content

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

OAuth アプリのレート制限

レート制限は、お使いの GitHub Enterprise Server インスタンス へのトラフィックのレートを制限し、すべてのユーザーに一貫したアクセスを確保するのに役立ちます。

: OAuth app の代わりに GitHub App をビルドするのを考慮します。 インストール アクセス トークンを使う GitHub Apps のレート制限は、リポジトリの数と組織のユーザーの数に応じてスケーリングされます。 逆に、OAuth apps のレート制限は低く、スケーリングされません。 詳細については、「GitHub Apps と OAuth アプリの違い」および「GitHub App の作成について」を参照してください。

OAuth apps のレート制限について

GitHub Enterprise Server では、レート制限は既定で無効になっています。 インスタンスのレート制限を確認するには、サイト管理者にお問い合わせください。

GitHub Enterprise Server インスタンスに対してレート制限が有効になっている場合、OAuth app が一定の時間内にサーバーに送信できる要求の数に制限があります。 この制限は、すべてのユーザーがシステムを使用できるようにするために役立ちます。

OAuth apps は、ユーザーがアプリを承認した後、ユーザー アクセス トークンを使って要求を行うことで、ユーザーに代わって動作します。 OAuth apps からのユーザー アクセス トークン要求は、OAuth トークンを使って認証されます。 詳しくは、「OAuth アプリの承認」を参照してください。

OAuth app のレート制限を決定する

現在のレート制限の状態は、いつでも REST API を使って確認できます。 詳しくは、「REST API のリソース」を参照してください。

OAuth apps では、次の 2 つのアクション中にレート制限が発生する可能性があります。

  1. ユーザーのサインイン時。
  2. API 呼び出しを行うとき。

OAuth apps は常にトークンをキャッシュする必要があり、ユーザーをサインインさせる必要はほとんどありません。 ユーザーが繰り返しサインインする場合はバグの兆候である可能性があり、最も一般的に見られるのはアプリと GitHub の間の無限ループです。 アプリが 1 時間以内にユーザーに 10 回サインインした場合、同じ時間内の次のサインインでは、アプリケーションの再承認が必要になります。 これにより、ユーザーはアプリが非常に多くのトークンを生成していることを認識できるようになります。それ以外の場合は、無限ループになる可能性がある部分にブレークを挿入します。 この 10 回の_サインイン_レート制限は、OAuth apps にも適用される 10 _トークン_の制限とは異なります。 10 トークンの制限については、「OAuth アプリの承認」を参照してください。

既定では、OAuth apps は、認証したユーザーあたり 5,000 件/時に制限されます。 ユーザーによって、またはユーザーが所有している personal access token によって認可されている OAuth apps からのすべての要求と、ユーザーの認証資格情報のいずれかで認証された要求は、そのユーザーについて 1 時間あたり 5,000 件の同じクォータを共有します。

参考資料