概要
JWT (JSON Web Token) 認証は、ユーザーの ID を安全に検証するための標準的な方法です。JWT 認証を実装することで、MoEngage でのデータ収集プロセスに重要なセキュリティレイヤーを追加できます。 この機能により、識別済みユーザーに代わって送信されるデータが本物であり、改ざんされていないことが保証されます。このセキュリティは、お客様のサーバーで暗号署名されたトークンを必須とすることで実現されており、権限のないユーザーが正当なユーザーになりすますことを防ぎます。実装を開始する前に、以下の要件を満たしていることを確認してください。
- JWT 認証機能を利用するには、アプリケーションで MoEngage Android SDK バージョン 14.04.00 以降を使用している必要があります。
- 公開鍵を管理し、機能の適用設定を構成するために、MoEngage ダッシュボードへのアクセス権が必要です。
.jpeg?fit=max&auto=format&n=Jtvf10ggM77HdKvB&q=85&s=c9c81f1b45cf152e3109ada2c2538739)
統合
Android アプリケーションに JWT 認証を統合するには、以下を実行します。ステップ 1: JWT 認証を有効にする
SDK の初期化時に、MoEngage.Builder オブジェクトで NetworkAuthorizationConfig プロパティを設定することで、JWT 認証を有効にできます。ステップ 2: JWT を SDK に渡す
JWT のライフサイクルの管理はアプリケーションの責任です。推奨されるフローは、ユーザーのログイン時にトークンを取得し、そのトークンを SDK に渡すことです。また、以降のアプリ起動時にはトークンの有効期限が切れていないかを確認し、必要に応じて新しいトークンを取得してください。 MoECoreHelper.passAuthenticationDetails() を使用して、トークンを SDK に提供します。ステップ 3: 認証エラーを処理する
MoEngage サーバーが返すトークン検証エラーを処理するには、OnAuthenticationError リスナーを登録します。SDK は認証エラーが発生したときにこのリスナーを呼び出し、アプリケーションが新しいトークンを取得して提供できるようにします。アプリケーションが常にコールバックを受け取れるよう、Application クラスの onCreate() などのグローバルスコープでリスナーを登録してください。
- 認証エラーにより API リクエストが失敗した場合、SDK はアプリケーションが新しいトークンを提供するまでリクエストを再試行しません。
- 1 つのセッション内で認証が 10 回連続して失敗すると、SDK は次のセッションが始まるまでデータの同期を試行しなくなります。このカウンターは、同期が成功するとリセットされます。
- ユーザーのログアウト時に JWT エラーによりデータの同期が失敗した場合、保留中のデータは削除され、再試行は行われません。