メインコンテンツへスキップ
RulesとHooksのサポート終了(EOL)日は 2026年11月18日 であり、 2023年10月16 日の時点で作成された新しいテナントは使用できなくなります。Hooksが有効な既存のテナントは、サポート終了までHooksを利用できます。今後はActionsに移行して、Auth0の機能を拡張することを強くお勧めします。Actionsを使用すると、豊富な情報やインラインドキュメント、パブリックnpmパッケージにアクセスして、外部統合を使って全体的な拡張エクスペリエンスを強化することができます。Actionsの詳細については、「Auth0 Actionsの仕組みを理解する」をお読みください。当社では、移行の参考資料として、RulesからActionsへの移行HooksからActionsへの移行に関するガイドを提供しています。また、専用の「Actionsへの移行」ページでは、機能の比較やActionsのデモ、その他のリソースを掲載して、円滑な移行をサポートしています。RulesとHooksの廃止の詳細については、当社のブログ記事「RulesとHooksの提供終了について」をお読みください。
RulesとHooksの機能は2026年にサポートの終了を予定しているため、新しいルールやフックは、アクションへの移行をテストするためだけに、開発環境内で作成してください。RulesからActionsへの移行方法については、「RulesからActionsに移行する」をお読みください。HooksからActionsへの移行方法については、「HooksからActionsに移行する」をお読みください。
デフォルトのメールフローは、ほとんどのアプリケーションの要件に対応することができますが、以下のようなものを実装する場合は、より柔軟な対応が求められることがあります。
  • ローカリゼーション
  • ユーザーまたはテナントに基づいたカスタム [Redirect To(リダイレクト先)] URL
  • アプリケーションやテナントに応じて異なるメールテンプレート
Auth0 は、メールフローを管理してメールの送信タイミングと方法をコントロールするためのエンドポイントを提供します。必要な場合、独自のカスタムメールエンドポイントを実装し、Auth0 Management APIエンドポイントを使用して残りのフローを管理することもできます。

確認メール

確認メールは、email_verifiedプロパティがfalseに設定されたすべてのユーザーに対して送信されます。通常は、データベース接続内のユーザーであったり、新規ユーザー登録時にメールアドレスを検証しないソーシャルプロバイダーを認証するユーザーであったりします。 確認メールは複数の方法で送信できます。
  • Management API
  • Rules
メールアドレスの検証メール送信のエンドポイントを選ぶと、ユーザーにメールアドレスの検証を要求するメールが送信されます。
curl --request POST \
  --url 'https://{yourDomain}/api/v2/jobs/verification-email' \
  --header 'authorization: Bearer {yourMgmtApiAccessToken}' \
  --header 'content-type: application/json' \
  --data '{ "user_id": "{userIdOfVerifyEmailRecipient}", "client_id": "{yourAppClientId}","identity": {"user_id": "5457edea1b8f22891a000004","provider": "google-oauth2"}, "organization_id": "{yourOrganizationId}" }'

ログインに確認済みメールを必須にする

ルールでログインする前に、ユーザーにメール確認を必須にすることができます。
function (user, context, callback) {
  if (!user.email_verified) {
    return callback(new UnauthorizedError('Please verify your email before logging in.'));
  } else {
    return callback(null, user, context);
  }
}

カスタムリダイレクト

カスタムリダイレクトは、ユーザー属性またはテナントに基づいて、ユーザーを特定のURLに移動したい場合に便利です。Auth0 Management APIには、ユーザーごとに確認リンクを生成するメール確認チケットの作成エンドポイントが表示されます。このエンドポイントを使用してresult_urlを指定することができます。ユーザーは、確認メールのリンクをクリックしてメールアドレスを確認した後、この指定した値にリダイレクトされます。 Auth0 DashboardでURLを許可リストに登録されることをお勧めします。詳細については、「AllowListにアドレスを追加する」を参照してください。

ウェルカムメール

ユーザーがメールアドレスを確認した後、ウェルカムメールがユーザー宛てに送信されます。

独自のAPIを使用してウェルカムメールを送信する

ルールを使用して、APIを呼び出し、ユーザーのメールアドレスが確認され、メールが以前に送信されていない場合にのみ、ウェルカムメールを送信することができます。
function (user, context, callback) {

  const request = require('request');

  if (!user.email_verified || user.welcome_email_sent) {
    return callback(null, user, context);
  }

  request.post({
    url: 'https://yourapi.yourcompany.com/mail/welcome',
    json: {
      user: user,
      context: context,
      secretToken: configuration.MY_SECRET_TOKEN,
    },
    timeout: 5000
  }, function(err, response, body){
    if (err)
      return callback(new Error(err));

    // Email sent flag persisted in the user's profile.
    user.app_metadata.welcome_email_sent = true;
    return callback(null, user, context);
  });
}

パスワードリセットメール

Auth0 Management APIのパスワード変更チケットの作成エンドポイントを使用してパスワードの変更チケットを作成し、メールにパスワード変更チケットのURLを入れてユーザーに送信することができます。ユーザーはリンクをクリックすると、ユニバーサルログインフローを介してパスワードをリセットするよう求められます。

もっと詳しく

I