Azure AD B2C 招待ベースのサインアップ ガイド

XML Custom Policies

Azure AD B2C での電子メール招待状の設定

カスタム ポリシーを使用して Azure AD B2C にユーザー サインアップ プロセスを実装する場合、招待メールの送信に Microsoft のネイティブ ソリューションを使用することを検討する場合があります。このアプローチにより、パスワード回復シナリオで Microsoft が確認コードまたは OTP に使用するのと同じ電子メール サービスを利用して、プラットフォームとのシームレスな統合が保証されます。

ただし、カスタム ポリシーの招待フローでの MSOnlineServices などの Microsoft のネイティブ電子メール サービスの使用に関するドキュメントは少ないか、存在しません。この欠如により、開発者は Microsoft ネイティブ ソリューションにこだわりたいにもかかわらず、SendGrid などのサードパーティ サービスに頼ることがよくあります。

指示 説明
HttpClient C# で HTTP 要求を送信し、URI で識別されるリソースから HTTP 応答を受信するために使用されます。
DefaultRequestHeaders.Authorization C# で Azure AD 要求を認証するために、HTTP 要求に Authorization ヘッダーを設定します。
JsonConvert.SerializeObject オブジェクトを JSON 文字列に変換し、C# での HTTP 経由での構造化データの送信を容易にします。
$.ajax jQuery を使用して非同期 HTTP (Ajax) リクエストを実行します。jQuery は、サーバーとのデータの送受信を非同期的に行うために Web アプリケーションで広く使用されています。
$('#email').val() jQuery を使用して、ID が「email」の HTML 要素の値を取得します。通常は、フォーム フィールドからユーザー入力を取得するために使用されます。
alert() 指定されたメッセージを含むアラート ダイアログを表示します。これは、ユーザーにメッセージを表示するために JavaScript で一般的に使用されます。

招待メールスクリプトの詳細説明

提供されるスクリプトは、Microsoft のネイティブ電子メール サービスを利用して、Azure AD B2C で招待ベースのユーザー サインアップ プロセスを設定するために不可欠です。 C# で書かれたバックエンド スクリプトは、 HTTPリクエストを行うためのクラス。それは採用します Microsoft の ID プラットフォームから取得した OAuth トークンを使用してリクエストを認証します。これは、Microsoft の電子メール サービスを介して電子メールを安全に送信するために重要です。スクリプトでも使用されます 電子メール メッセージ オブジェクトを JSON 文字列に変換し、データ形式が Microsoft Graph API と互換性があることを確認します。

フロントエンド スクリプトは、Web ページ上でのユーザーの対話を容易にします。 HTML と JavaScript を使用し、DOM 操作とイベント処理を容易にする jQuery を使用します。の このメソッドは、Web ページをリロードせずにユーザー データをバックエンド サーバーに非同期的に送信するために使用されます。この機能は、ユーザー入力フィールドから収集された電子メール招待状データを送信するために不可欠です。 。 JavaScriptの この関数は、招待メールが正常に送信されたかどうか、またはプロセス中にエラーが発生したかどうかを示すフィードバックをユーザーに提供します。

Microsoft 電子メール サービスを使用した Azure AD B2C 招待フローの実装

C# および Azure B2C カスタム ポリシー

using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
using Newtonsoft.Json;
public class InvitationSender
{
    private static readonly string tenantId = "your-tenant-id";
    private static readonly string clientId = "your-client-id";
    private static readonly string clientSecret = "your-client-secret";
    private static readonly string authority = $"https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/token";
    private static readonly string emailAPIUrl = "https://graph.microsoft.com/v1.0/users";

Azure AD B2C サインアップ招待状のフロントエンド ユーザー インターフェイス

HTML と JavaScript

<html>
<head><title>Signup Invitation</title></head>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
function sendInvitation() {
    var userEmail = $('#email').val();
    $.ajax({
        url: '/send-invitation',
        type: 'POST',
        data: { email: userEmail },
        success: function(response) { alert('Invitation sent!'); },
        error: function(err) { alert('Error sending invitation.'); }
    });
}</script>
<input type="email" id="email" placeholder="Enter user email"/>
<button onclick="sendInvitation()">Send Invitation</button>
</body>
</html>

Azure AD B2C カスタム ポリシーによるユーザー管理の強化

Azure AD B2C にカスタム ポリシーを実装すると、認証および承認プロセスに柔軟性が提供されるだけでなく、組織がネイティブの Microsoft サービスをシームレスに統合できるようになります。これらのポリシーは、ユーザー エクスペリエンスやワークフロー (ユーザー招待フローなど) を調整するために不可欠です。カスタム ポリシーは XML で記述されており、条件付きアクセスや多要素認証などの複雑なシナリオを可能にするために Identity Experience Framework に大きく依存しています。これらは、電子メールを送信するための MicrosoftOnlineServices などの外部システムおよび API に接続するためのフレームワークを提供します。

サインアップまたはパスワード リセットのプロセス中にユーザーに送信される通信をカスタマイズできる機能により、プロフェッショナリズムとブランディングの層が追加されます。 Microsoft のネイティブ電子メール サービスをこれらのフローに統合すると、サードパーティ サービスへの依存が軽減され、コストが削減され、運用が合理化される可能性があります。この統合により、すべての通信が Microsoft のセキュリティ標準と一致することが保証され、アプリケーション全体のセキュリティ体制が強化されます。

  1. Azure AD B2C のカスタム ポリシーとは何ですか?
  2. カスタム ポリシーは、Identity Experience Framework を使用してユーザー ジャーニーを XML で定義することにより、ID エクスペリエンスの詳細なカスタマイズを可能にする構成です。
  3. Microsoft の電子メール サービスを Azure AD B2C に統合するにはどうすればよいですか?
  4. 統合するには、 カスタム ポリシーで、ポリシーの技術プロファイルで定義されている安全なチャネルを通じて電子メールを送信します。
  5. ユーザーの招待に Microsoft のネイティブ電子メール サービスを使用する利点は何ですか?
  6. ネイティブ サービスを使用すると、セキュリティが強化され、他の Microsoft 通信との一貫性が確保され、サードパーティ ソリューションよりもコスト効率が高くなります。
  7. Azure AD B2C カスタム ポリシーは複雑なユーザー フローを処理できますか?
  8. はい、多要素認証やユーザーのアクションや属性に基づく条件付きアクセスなど、複雑な認証および認可のシナリオを管理できます。
  9. Azure AD B2C で Microsoft の電子メール サービスを使用する代替手段はありますか?
  10. SendGrid や Mailjet などの代替手段も実行可能ですが、Microsoft サービスを使用すると、他の Microsoft クラウド サービスとのより緊密な統合と一貫性が得られます。

Microsoft 独自のサービスを使用してユーザー招待を送信するための Azure AD B2C を調べると、ユーザー エクスペリエンスとセキュリティが強化される強力な機能が実証されます。サードパーティのオプションも有効ですが、Microsoft のネイティブ ソリューションを活用すると、Microsoft エコシステムの堅牢なセキュリティと運用効率に合わせたシームレスな統合が実現します。このアプローチにより、ユーザー通信の管理が簡素化されるだけでなく、重要な通信に統合された Microsoft サービスを使用することに対する信頼も強化されます。