Azure AD B2C でSendGridを使う

Azure AD B2C標準のユーザーフローやIEFのカスタムポリシーだと、電子メールアドレスの検証時などMicrosoftのfromアドレスからメールが送信されてしまいます。本文などもAzure AD B2Cの標準のものですね。
今までこの部分のカスタマイズはだいぶ面倒だったのですが(自前でAPI用意したり)、ちょっと前のアップデートでだいぶ簡単になりました。ただしまだPreview機能。

基本的には上記の通りやっていけば、少なくともサインアップサインインなフローで問題なくSendGrid経由でメールが送信できるはず。(どこにどう記述したらいいのか分からない、のであればもうちょっとIEFを知るところから、、という感じでしょうか)

なお出来上がりのカスタムポリシーはGitHubにあるのでそちらを見れば早いです。

基本的にやることは

  • SendGridのAPIキーをポリシーキーとして保存しておく
  • DisplayClaimsで定義したemailVerificationControlを使う

辺りでしょうか。DisplayControlを使うためのREST API(SendGrid連携)辺りはコピペ&修正で十分です。(テンプレートIDやテンプレートに渡す変数名など必要に応じて直せばいいでしょう)

こちらも参考に。

ローカライズ周り

標準の電子メールアドレス検証ではなくなるので、ローカライズしてる場合はStringIdなどが変わります。実際にロードされた画面のソース(CONTENT変数)を見てStringIdを探しましょう(

image

今回のDisplayControl関連だと以下のようなIDが使われているようです。(Previewなので変わる可能性はある)

          <LocalizedString ElementType="UxElement" StringId="verification_control_code_sent">確認コードが受信トレイに送信されました。次の入力ボックスにコピーしてください。</LocalizedString>
          <LocalizedString ElementType="UxElement" StringId="verification_control_but_send_new_code">新しいコードを送信します</LocalizedString>
          <LocalizedString ElementType="UxElement" StringId="verification_control_but_verify_code">コードの確認</LocalizedString>
          <LocalizedString ElementType="UxElement" StringId="verification_control_but_send_code">確認コードを送信する</LocalizedString>
          <LocalizedString ElementType="UxElement" StringId="verification_control_fail_verify_code">確認コードの検証に失敗しました。しばらくして再試行してください。</LocalizedString>
          <LocalizedString ElementType="UxElement" StringId="verification_control_but_change_claims">電子メールアドレスの変更</LocalizedString>
          <LocalizedString ElementType="UxElement" StringId="verification_control_fail_send_code">確認コードを送信できませんでした。しばらくしてから再試行してください。</LocalizedString>

まとめ

新しいメール検証用のDisplayControlを使えばだいぶ楽にSendGrid連携できますね!というわけで是非活用してください。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中