概要
SDK認証はBeta機能です。詳細については、カスタマーサクセスマネージャー(CSM)にお問い合わせください。

ユースケース
SDK認証は、次のユースケースで役立ちます。- ユーザーのなりすましの防止: 悪意のある攻撃者(不正な試行)が、他のユーザーのプロファイル情報(名前、都市、設定など)を悪意を持って更新したり、そのユーザーになりすましてイベントを送信したりすることをブロックします。
- 重要度の高いイベントの保護: purchase_completed、subscription_started、demo_requested などの重要なユーザーアクションの整合性を確保します。これにより、偽のイベントによって分析が損なわれたり、誤ったマーケティングキャンペーンがトリガーされたりすることを防ぎます。
- データのクリーンな状態の維持: 認証されていないリクエストによる不要なデータの送信、不正なユーザープロファイルの作成、ユーザーデータベースの破損を阻止し、高いデータ品質を維持します。
主要な概念
始める前に、この機能の次の主要な概念を理解しておきましょう。鍵とJWTを生成する
MoEngageダッシュボードを設定する前に、チームはサーバー上で鍵の生成とJWTの作成を設定する必要があります。- RSA256の公開鍵/秘密鍵ペアを生成する: 公開鍵(Privacy Enhanced Mail(PEM)ファイル)をMoEngageダッシュボードに追加し、秘密鍵はサーバー上に安全に保管する必要があります。MoEngageでは、RS256 JWTアルゴリズムで使用するために、2048ビットのRSA鍵を推奨しています。
- 現在のユーザー用のJSON Web Tokenを作成する: 秘密鍵を用意したら、サーバー側のアプリケーションでそれを使用して、現在ログインしているユーザーのJWTをアプリまたはWebサイトに返す必要があります。通常、このロジックは、ログインエンドポイントや現在のユーザーのプロファイルを更新するエンドポイントなど、アプリが通常現在のユーザーのプロファイルをリクエストする場所に配置できます。
ペイロード
JWTトークンとペイロードの例は次のとおりです。
SDK認証ページにアクセスする
SDK認証ページにアクセスするには、次の手順を実行します。- MoEngageダッシュボードの左側のナビゲーションメニューで、Settings > Account > Security をクリックします。
- Security ページで、SDK Authentication タブを選択します。

アクセスに必要な権限
SDK認証を設定する
アカウントでJWT認証を設定して有効にするには、次の手順に従います。ステップ1: 前提条件を満たす
JWT認証を開始する前に、次の条件を満たしていることを確認してください。- MoEngage SDKの統合: 開発チームが最新バージョンのMoEngage SDKをアプリケーションに統合していることを確認します。詳細については、次のプラットフォームのドキュメントを参照してください。
- 公開鍵と秘密鍵のペア: 以下の技術要件を満たす鍵ペアを生成する必要があります。秘密鍵はサーバー上に安全に保管し、公開鍵はMoEngageダッシュボードにアップロードします。
ステップ2: 強制モードを選択する
SDKリクエストを検証するための強制モードを選択します。- Secure SDK Requests with JWT セクションで、3つの強制モードのいずれかを選択します。
- Disabled (Default): これはデフォルトの状態です。認証は実行されません。すべてのSDKリクエストが処理されます。
- Required (Recommended): MoEngageはすべてのリクエストを厳密に検証し、署名がないか無効なリクエストを拒否します。テストが成功した後にのみ有効にしてください。
ステップ3: 公開鍵を追加する
Required (Recommended) を選択すると、公開鍵を追加するように求められます。- Public key details セクションで、Enter public key ボックスに鍵を貼り付けます。
- 鍵を識別しやすくするために、Enter description (optional) ボックスにわかりやすい名前を入力します。

ステップ4: 保存して確認する
最後に、設定を保存して構成を有効にします。- ページの右下隅で、Save をクリックします。
Update your configuration ダイアログボックスが表示されます。 - Confirm をクリックして設定を適用します。
設定が正常に保存されます。
よくある質問
'Required'モードを有効にすると、古いバージョンのアプリを使用しているユーザーはどうなりますか?
'Required'モードを有効にすると、古いバージョンのアプリを使用しているユーザーはどうなりますか?
SDK認証に対応していない古いバージョンのアプリから送信されたデータは拒否され、永久に失われます。このモードを有効にする前に、ほとんどのユーザーが最新バージョンのアプリにアップグレードしていることを確認することを強くお勧めします。
サーバーに問題が発生してトークンを生成できない場合はどうすればよいですか?
サーバーに問題が発生してトークンを生成できない場合はどうすればよいですか?
統合の問題が発生した場合は、すぐにMoEngageダッシュボードに戻り、強制モードを Disabled に戻すことができます。これにより、チームがサーバー側の問題を解決する間、認証されていないデータを再び収集できるようになります。
この機能で、単純なシークレットキーではなく公開鍵/秘密鍵を使用するのはなぜですか?
この機能で、単純なシークレットキーではなく公開鍵/秘密鍵を使用するのはなぜですか?
この方法の方がセキュリティが高いためです。公開鍵/秘密鍵のペアを使用すると、シークレット(秘密鍵)がサーバーの外に出ることはありません。MoEngageでさえアクセスできないため、誰もユーザーになりすますことができません。
匿名(ログインしていない)ユーザーにSDK認証を使用できますか?
匿名(ログインしていない)ユーザーにSDK認証を使用できますか?
いいえ。SDK認証は、既知のログイン済みユーザーからのリクエストのみを検証するように設計されています。匿名ユーザーからのデータは、認証なしで処理されます。