Skip to main content
OAuth 2.0 specification によると、アプリケーションは、その認証能力 (シークレットを保持できるかどうか) に応じて、コンフィデンシャルまたはパブリックのいずれかに分類されます。

機密アプリケーション

機密アプリケーションは、資格情報を安全に保持し、権限のない第三者に漏らさずに扱えます。シークレットを保存するために、信頼できるバックエンドサーバーが必要です。

グラントタイプ

機密アプリケーションは信頼できるバックエンドサーバーを使用し、Auth0 Authentication API の Get Token エンドポイントを呼び出して認証を行う際に、Client ID と (または登録済みの別の資格情報) の指定が必要なグラントタイプを使用できます。機密アプリケーションでは、Client Secret Post、Client Secret Basic、または Private Key JWT 認証方式を使用できます。 以下は機密アプリケーションと見なされます。

ID トークン

機密アプリケーションはシークレットを保持できるため、次の 2 つの方法のいずれかで署名された を発行できます。
  • クライアントシークレットを使用する対称署名 (HS256)
  • 秘密キーを使用する非対称署名 (RS256)

パブリックアプリケーション

パブリックアプリケーションでは、資格情報を安全に保持することができません

グラントタイプ

パブリックアプリケーションで使用できるのは、クライアントシークレット を必要としないグラントタイプに限られます。必要な資格情報の機密性を保てないため、クライアントシークレット を送信できません。 以下がパブリックアプリケーションです。

ID トークン

パブリックアプリケーションはシークレットを保持できないため、それらに発行されるID トークンは、次の条件を満たしている必要があります。
  • 秘密キー (RS256) を使用して非対称署名されていること
  • トークンの署名に使用した秘密キーに対応する公開キーで検証されること

Auth0 による資格情報のセキュリティの判断方法

Auth0 では、アプリケーションの種類と、利用可能な場合はアプリケーションが Auth0 Authentication API の Get Token エンドポイント に対して認証する方法を定義する 認証方法 の設定に基づいて、アプリケーションがコンフィデンシャルかパブリックかを判断します。
  • 通常の Web アプリケーションとマシンツーマシンアプリケーションは、認証方法を「なし」に設定しない限り、コンフィデンシャルです。
  • シングルページアプリケーションとネイティブアプリはパブリックです。 これらのアプリケーションの種類では、の認証方法に必要な資格情報の機密性を維持できないため、Auth0 Dashboard にはこれらのアプリケーションの種類向けの認証方法や資格情報の設定はありません。
これらの値は、機密アプリケーションとパブリックアプリケーションに次のように対応します。

認証方法を確認・管理する

アプリケーションが Auth0 に機密アプリケーションまたはパブリックアプリケーションとして登録されているかどうかは、Auth0 Dashboard で確認できます。アプリケーション > アプリケーションで、確認するアプリケーション名を選択します。
  • 資格情報タブが表示されない場合、そのアプリケーションはパブリックアプリケーションです。
  • 資格情報タブが表示される場合、そのアプリケーションは機密アプリケーションです。
Private Key JWT 認証の設定 - Auth0 Dashboard の手順
資格情報タブでは、アプリケーションの認証方法を管理できます。
  • なし: を持たないパブリックアプリケーション。
  • Client Secret Post: POST リクエスト本文のパラメータでクライアントシークレットを送信するアプリケーション。
  • Client Secret Basic: HTTP BASIC 認証方式でクライアントシークレットを送信するアプリケーション。
  • Private Key : 非対称認証を使用するアプリケーション。
詳細については、Application Credentialsを参照してください。