Auth0内のアプリケーション
Auth0のアプリケーションまたはアプリという用語は、特定の実装特性を意味するものではありません。たとえば、携帯電話デバイス上で実行されるネイティブアプリ、ブラウザー上で実行されるシングルページアプリケーション、サーバー上で実行される通常のWebアプリケーションなどがあります。
Auth0では、次の特性に基づいてアプリが分類されます。
Application Type(アプリケーションタイプ):アプリケーションに認証を追加するには、そのアプリケーションをAuth0 Dashboardに登録し、次のアプリケーションタイプのいずれかを選択する必要があります。
Regular Web Applications(通常のWebアプリケーション):アプリケーションロジックのほとんどをサーバー上で実行する従来のWebアプリ(Express.jsやASP.NETなど)。通常のWebアプリケーションのセットアップ方法については、[Register Regular Web Applications(通常のWebアプリケーションの登録)]をお読みください。
シングルページWebアプリケーション(SPA):JavaScriptユーザーインターフェイスロジックのほとんどをWebブラウザーで実行し、主にAPI(AngularJS + Node.jsまたはReactなど)を使用してWebサーバーと通信するアプリ。通常のWebアプリケーションのセットアップ方法については、[Register Single-Page Web Applications(シングルページWebアプリケーションの登録)]をお読みください。
Native application(ネイティブアプリケーション):デバイス(iOSやAndroidなど)上でネイティブに実行される携帯電話アプリケーションまたはデスクトップアプリケーション。通常の Web アプリケーションのセットアップ方法については、[Register Native Applications(ネイティブアプリケーションの登録)]をお読みください。
マシンツーマシン(M2M)アプリケーション:コマンドラインツール、デーモン、IoTデバイス、バックエンドで実行されているサービスなどの非対話型アプリケーション。通常、このオプションはAPIへのアクセスが必要なサービスがある場合に使用します。通常のWebアプリケーションのセットアップ方法については、[Register Machine-to-Machine Applications(マシンツーマシンアプリケーションを登録)]をお読みください。
資格情報のセキュリティ:OAuth 2.0 specによると、アプリはパブリックまたは機密に分類できます。機密アプリは資格情報を安全に保持できますが、パブリックアプリはそれができません。詳細については、「機密アプリケーションとパブリックアプリケーション」をお読みください。
所有権:アプリがファーストパーティとサードパーティのどちらに分類されるかは、アプリの所有権と管理によって決まります。ファーストパーティアプリは、Auth0ドメインを所有する同じ組織または個人によって管理されます。サードパーティアプリを使用すると、外部パーティやパートナーがAPIの背後にある保護されたリソースに安全にアクセスできるようになります。詳細については、[First-Party and Third-Party Applications(ファーストパーティとサードパーティのアプリケーション)]をお読みください。
アプリケーション設定の管理
アプリケーションは、[Dashboard]>[Applications(アプリケーション)]>[Applications(アプリケーション)]で登録します。Dashboardでアプリケーションをセットアップするだけでなく、OpenID Connect (OIDC) Dynamic Client Registration 1.0仕様で説明されているように、プログラムでアプリケーションを設定することもできます。
ユーザーがアプリごとに異なる方法でログインできるように、より複雑な構成をセットアップできます。詳細については、[Multi-Tenant Application Best Practices(複数テナントのアプリケーションに関するベストプラクティス)]および[Create Multiple Tenants(複数のテナントの作成)]をお読みください。
デフォルトでは、新しいアプリケーションを作成するときに、テナントに関連付けられたすべての接続がAuth0によって有効化されます。これを変更するには、Dashboardの[update application connections(アプリケーション設定)]で[Application Settings(アプリケーション接続)]を更新します。
アプリケーションのモニタリング
独自のテストを使用して、[monitor apps(アプリを監視)]し、エンドツーエンドのテストを実行できます。Auth0には、Dashboard管理者の操作、ユーザー認証の成功と失敗、パスワード変更要求などのログデータが保存されます。Auth0 Marketplaceのログストリーミングを使用してログデータをエクスポートし、Sumo Logic、Splunk、Mixpanelなどのツールを使用してログデータを分析および保存できます。
アプリケーションの削除
DashboardまたはManagement APIを使用して、アプリケーションを削除できます。
クライアントシークレットの管理
クライアントシークレットは、アプリケーションと認可サーバーのみが知っているシークレットです。承認された要求者にのみトークンを付与することで、リソースを保護します。
クライアントシークレットを保護し、携帯電話またはブラウザーベースのアプリに含めないでください。クライアントシークレットが漏洩した場合は、新しいクライアントシークレットに変更し、すべての認証済みアプリを新しいクライアントシークレットで更新する必要があります。
付与タイプ
Auth0にはさまざまな認証フローと認可フローが用意されていますが、どれが最も適しているかは、Auth0-registeredアプリのgrant_types
プロパティに基づいて示すことができます。詳細については、[Application Grant Types(アプリケーションの付与タイプ)]をお読みください。