機密アプリケーション
機密アプリケーションは、資格情報を無許可の当事者に公開することなく安全な方法で保持できます。シークレットを保管するために、信頼できるバックエンドサーバーが必要です。付与タイプ
機密アプリケーションは信頼のあるバックエンドサーバーを使用します。また、付与タイプを使用することができ、Auth0 Authentication APIのトークンの取得エンドポイントを呼び出す時に、認証に対するクライアントIDとクライアントシークレット(または代替の登録済み資格情報)を指定する必要があります。機密アプリケーションは、 Post、Client Secret Basic、または秘密鍵JWTの認証方法を使用できます。 以下のようなアプリケーションは機密アプリケーションになります。- 認可コードフロー、リソース所有者パスワードフロー、またはRealmサポート付きのリソース所有者パスワードを使用する、安全なバックエンドを持つWebアプリケーション
- クライアント資格情報フローを使用するマシンツーマシン(M2M)アプリケーション
IDトークン
機密アプリケーションはシークレットを保持できるため、以下の2つの方法のうちの1つで署名したIDトークンを発行させることができます。- 対称的に、クライアントシークレット(
HS256
)を使用する - 非対称的に、秘密鍵(
RS256
)を使用する
公開アプリケーション
公開アプリケーションは、資格情報を安全に保持できません 。付与タイプ
公開アプリケーションは、クライアントシークレットの使用を必要としない付与タイプのみを使用することができます。必要な資格情報の機密性を維持できないため、クライアントシークレットは送信できません。 以下のようなアプリケーションは公開アプリケーションになります。- PKCEを持つ認可コードフローを使用するネイティブデスクトップまたはモバイルアプリケーション
- 暗黙フロー付与を使用する、JavaScriptベースのクライアント側のWebアプリケーション(シングルページアプリなど)
IDトークン
公開アプリケーションは秘密を保持できないため、それらに発行されるIDトークンは次のようにする必要があります。- 秘密鍵(
RS256
)を使用して非対称に署名したもの - トークンの署名に使用された秘密鍵に対応する公開鍵を使用して検証したもの