パスワードを忘れた場合の復旧メールをカスタマイズする

Oktaは、パスワードを忘れたエンドユーザーにメール通知を送信できます。ユーザーは提供されたリンクに従って、パスワードを忘れた場合のプロセスを完了する必要があります。

アプリケーションのサインインフローに組み込み認証デプロイモデルを使用している場合は、パスワードを忘れた場合(Forgot Password)メールテンプレート用にカスタマイズされたメールのマジックリンクを作成できます。

カスタムリンクを使用してパスワードを忘れた場合の復旧メールを送信するオプションは、Identity Engine organizationのOIDCアプリケーションでのみ使用できます。

デフォルトのメールテンプレートはカスタマイズできます。ただし、デフォルトのテンプレートを編集すると、Oktaは他の言語でのデフォルトメッセージの送信を停止します。カスタマイズしたメッセージの翻訳は、お客様の責任で追加する必要があります。

パスワードを忘れた場合のカスタムリンクにはいくつかの必須要素があります。

  • <app endpoint>:ユーザーがパスワードをリセットするアプリ統合用のサインインリダイレクトURI(Sign-in redirect URI)。この値はアプリ統合によって異なりますが、通常はhttps://example.com/login/callbackの形式です。
  • otp:この値は、${oneTimePassword}と呼ばれるマクロによって生成されます。
  • state:この値は、${request.relayState}という名前のマクロによって生成されます。これには、interactエンドポイントへの元の呼び出しでクライアントによって定義されたOAuth状態パラメーターが含まれています。

Velocityテンプレート言語から関連するマクロを含めることもできます。

たとえば、Identity Engineのorgでは、パスワードを忘れた場合のメールテンプレートの${resetPasswordLink}ステートメントを次のように作成できます。

https://example.com/login/callback?otp=${oneTimePassword}&state=${request.relayState}&location=
	${request.location}&ip=${request.ipAddress}&browser=${request.browser}

パスワードを忘れた場合のリンクのカスタムステートメントを作成したら、パスワードを忘れた場合(Forgot Password)メールテンプレートを変更する必要があります。

  1. Admin Consoleカスタマイズ(Customizations) > ブランド(Brands)に移動します。

  2. ブランドを選択します。
  3. メール(Emails)をクリックします。
  4. メールテンプレートのリストにあるパスワードを忘れた場合(Forgot Password)をクリックします。
  5. 編集(Edit)をクリックして、メッセージをHTML形式で開きます。編集(Edit)(Add Translation)の代わりに翻訳を追加(Add Translation)(Edit)が表示される場合、テンプレートはすでにカスタマイズされています。デフォルト言語のコピーを編集する必要があります。
  6. コードid="reset-password-link" href="${resetPasswordLink}"を見つけます。${resetPasswordLink}をカスタムステートメントに置き換えます。
  7. 保存(Save)をクリックします。

    編集したメッセージのデフォルトの言語バージョンがカスタムメール(Custom Email)テーブルに表示されます。デフォルト言語のコピー以外に、テンプレートも編集する必要があります。メールテンプレートをカスタマイズするトピック内の翻訳を追加(Add translations)セクションを参照してください。