メインコンテンツへスキップ
品質保証は、お客様に影響が及ぶ前に問題を特定するために重要です。さらに、プロジェクトの性質によっては、Auth0 との統合の一環として検討すべき品質保証テストの種類がいくつかあります。
  • アプリケーションは、障害のある方を含め、誰にとっても理解しやすく使いやすいものになっていますか?
  • アプリケーションは、さまざまなブラウザーやデバイスで動作する必要がありますか?
  • アプリケーションは、複数の国や地域にまたがる環境で動作する必要がありますか?
  • 想定外の本番環境の負荷がかかった場合、アプリケーションはどのように動作しますか?
  • セキュリティ関連の脆弱性からアプリケーションを保護するには、どのようにすればよいですか?
Auth0 の Universal Login と関連する UI ウィジェット (たとえば Lock) は、すでにユーザビリティとアクセシビリティのベストプラクティスに従って設計・構築されており、幅広い ブラウザーとデバイス に対する、テスト済みの標準サポートを提供しています。国際化 (I18N) も標準でサポートされており、カスタムの多言語対応やローカリゼーション (L10N) の要件に対応できるよう、組み込みの拡張機能も備えています。 機能要件が満たされ、想定外の事象にも正しく対処できることを確認するために、アプリケーションと Auth0 間の 統合テスト や、個々の拡張機能モジュール (たとえば RulesHooks、Custom Database スクリプト) の 単体テスト に関するガイダンスを提供しています。さらに、セキュリティ脆弱性をテストする際に役立つ Auth0 の 侵入テストポリシー に関するガイダンスに加えて、想定外の負荷がかかった場合でもアプリケーションが適切に動作することを確認するために、モック テストを当社の 負荷テストポリシー と併用する方法についても案内しています。

単体テスト

単体テストの目的は、コードの個々の単位を検証することです。Auth0 内で Rules、Hooks、カスタム DB スクリプトといった形でカスタムコードを作成する場合は、コードをテストするために Mocha などのテストフレームワークの使用を検討してください。Auth0 を最も効果的に活用している企業では、Auth0 テナントの設定や関連成果物を自動的にデプロイする前に、これらの単体テストを実行することが有効であると分かっています。

統合テスト

SDLC support のアーキテクチャガイダンスで説明しているように、開発、テスト、本番環境ごとに異なるテナントを設定することをベストプラクティスとして推奨しています。Auth0 では、カスタム 拡張機能 内から利用できる変数を設定できます。これらは、Auth0 テナントにおける環境変数のようなものと考えられます。開発、テスト、本番環境間でコードを移動するたびに変わる参照をハードコードする代わりに、テナントで設定し、カスタム拡張コードから参照する変数名を使用できます。これにより、実行時にテナント固有の値が設定される変数を参照できるため、同じカスタムコードを変更せずに異なるテナントで動作させやすくなります。
  • Rules で変数を使用する場合は、値を設定する方法を参照してください
  • Hooks で変数を使用する場合は、エディターで シークレット を設定する方法を参照してください
  • Actions で変数を使用する場合は、Explore Flows and Triggers を参照してください
  • Custom DB Scripts で変数を使用する場合は、設定パラメーターを参照してください

ベストプラクティス

テナント固有の値に加え、カスタムコード内に公開すべきでない機密のシークレットを保持するためにも、変数を使用することを推奨します。カスタムコードを GitHub にデプロイしている場合、テナント固有の変数を使用することで、GitHub リポジトリを通じた機密値の漏えいを防げます。

テスト自動化

デプロイ自動化とテスト自動化を組み込むことで、ビルドプロセス全体を自動化できます。これにより、設定やカスタムコードの新しいバージョンを Auth0 にデプロイし、自動テストを実行できます。テストで問題が検出された場合は、デプロイ自動化の機能を使用して、最後に正常に動作していたバージョンにロールバックできます。詳細については、デプロイ自動化ガイダンスを参照してください。

モックテスト

Auth0 の 負荷テストポリシー と負荷テストを行いたいという要件の兼ね合いから、Auth0 のお客様の間では Auth0 のエンドポイントをモック化することが一般的に行われています。これは、テストを制限することなく、想定しているインターフェースでアプリケーションが正しく動作することを確認するうえで有効な方法です。また、これを支援するツールとして、MockServerJSON Server、さらに Postman も利用できます。

プロジェクト計画ガイド

推奨戦略の詳細を確認できるよう、ダウンロードして参照できる PDF 形式の計画ガイドを提供しています。 B2C IAM プロジェクト計画ガイド