認可エラーが発生した際に callback URL が有効であれば、認可サーバー は、適切な error パラメーターと state パラメーターを callback URL に返します。callback URL が無効な場合は、アプリケーションにデフォルトの Auth0 エラーページ が表示されます。
また、callback URL が無効な場合以外でも、アプリケーションにデフォルトの Auth0 エラーページが表示されることがあります。たとえば、次のような場合です。
Auth0 Authentication API の Login エンドポイント を呼び出すときに、必須パラメーターが不足している。
ユーザーが期限切れのパスワードリセットリンクを開く (Classic Login を使用している場合) 。
ユーザーがブックマークしたログインページにアクセスし、デフォルトのログインルート が指定されていない。
カスタムエラーページを設定した場合、認可サーバーは URL にクエリ文字列として付加されたパラメーターを返します。
Parameter Description client_idAuth0 アプリケーションの識別子。 connectionエラー発生時に使用されていた接続。 langエラー発生時に使用する言語として設定されていた言語。 errorエラーコード。 error_descriptionエラーの説明。 trackingAuth0 が内部ログでエラーを特定するために使用する識別子。
返されるパラメーターはエラーの種類によって異なり、リクエストごとに異なります。たとえば、エラーとなったリクエストに client_id が含まれていなかった場合、認可サーバーは client_id パラメーターを返しません。
カスタムエラーページを表示するには、次の 2 つの方法があります。
Auth0 Dashboard または Auth0 Management API を使用して、ユーザーをカスタムエラーページにリダイレクトします。
Management API を使用して、Auth0 がカスタムエラーページを代わりにレンダリングするよう設定します。
Dashboard を使用してユーザーをカスタムエラーページにリダイレクトする
Dashboard を使用して、Auth0 がユーザーをカスタムエラーページにリダイレクトするよう設定します。
Auth0 Dashboard > Tenant Settings に移動します。
Error Pages セクションを探します。
Redirect users to your own error page オプションを選択します。
ユーザーに表示するエラーページの URL を入力し、Save を選択します。
Management API を使用してユーザーをカスタムエラーページにリダイレクトする
Management API の Update Tenant Settings エンドポイントを使用します。{mgmtApiAccessToken} プレースホルダーの値を Management API の アクセストークン に置き換え、JSON 本文の url フィールドの値を、エラーページの場所を指すように更新します。
値 説明 MGMT_API_ACCESS_TOKENスコープ update:tenant_settings を持つ Management API のアクセストークン 。 show_log_linkテナントログ内のエラーへのリンクを表示するかどうかを示します。有効な値は true と false です。 urlリダイレクト先として使用するカスタムエラーページのURL。
Classic Login ウィジェット内でエラーが表示される場合 (パスワードリセットリンクの有効期限切れなど) は、設定済みであっても、Auth0 でホストされるカスタムエラーページは表示されません。
Management API の Update Tenant Settings エンドポイントを使用します。{mgmtApiAccessToken} プレースホルダーの値を Management API のアクセストークンに置き換え、JSON ボディの html フィールドの値を、ページの HTML を含む文字列に更新します。
Liquid 構文を使用すると、次の変数を含めることができます。
{client_id}
{connection}
{lang}
{error}
{error_description}
{tracking}
値 説明 MGMT_API_ACCESS_TOKENスコープ update:tenant_settings を持つ Management API のアクセストークン 。 show_log_linkテナントログ内のエラーへのリンクを表示するかどうかを指定します。有効な値は true と false です。 html表示するカスタムエラーページの HTML。
XSS 脆弱性を防ぐには、Liquid の escape フィルターと strip_html フィルターを使用して、カスタムテンプレートをサニタイズしてください。