2016-05-03 12 views
0

IBM MobileFirst V7.1、Java 1.7vでハイブリッドモバイルアプリケーションを開発しています。IBM MobileFirst V7.1プッシュ通知の問題

このアプリケーションでは、アダプタベース認証を使用したプッシュ通知が開発されています。

私たちのアプリケーションでは、アダプタベースの認証を使用してプッシュ通知を送信しています。 通知はuserIdに基づいて配信されます。 初めて特定のユーザーIDに通知することができます。 その後、ユーザーが別のユーザーIDを使用しようとしたときに通知を送信できない場合、「ユーザーは既にログアウトしてください」というエラーが表示されます。

ログのエラー: レルム 'pushAppRealm'に既にログインしているユーザーのIDを変更できません。アプリケーションは最初にログアウトする必要があります。

これはクライアント側です。「WL.Client.isUserAuthenticated(realm)」を使用してユーザーが認証されているかどうかを確認していますが、常にfalseに戻しています。 ユーザーがログインボタンをクリックしたときにログアウトオプションを試してみましたが、ユーザーをログアウトしてもう一度ユーザーを認証しています - ここでも私は同じ問題に直面しています。

+0

実際のエラーは何ですか。 –

+0

初めて通知を送信することはできますが、2回目に通知を送信できません。認証は2回目に間違っています。 –

+0

「偽」とは何ですか?ログに記録されるエラーは何ですか? –

答えて

0

プッシュ通知は、クライアントからではなく、サーバーからディスパッチする必要があります。

初めて認証するときに、ユーザ領域にユーザIDを割り当てます。クライアントから、通知を送信するアダプタ・プロシージャを起動します。 もう一度、別のユーザーIDを渡します。今回は、別のユーザー(同じセッション内のすべて)で再度認証しようとします。レルムに既に新しいアイデンティティーがある場合、新しいアイデンティティを強制することになります。

これは、「「realApp 'pushAppRealm'のログイン済みユーザーのIDを変更できません。アプリケーションは最初にログアウトする必要があります」というメッセージがサーバーに表示されます。

採用する権利アプローチがある:

  1. 認証領域へ。
  2. プッシュを購読する。これにより、1)のユーザーIDがサブスクリプションに割り当てられます。
  3. ポーリングメカニズムまたはREST API呼び出しを使用して、通知をディスパッチします。 REST呼び出しでユーザーIDを引数として渡します。
関連する問題