2016-05-03 11 views
0

Wir entwickeln hybride mobile Anwendung in IBM MobileFirst V7.1, Java 1.7v.IBM MobileFirst V7.1 Push-Benachrichtigung Problem

In dieser Anwendung sind wir Push-Benachrichtigung mit Adapter-basierte Authentifizierung entwickelt.

In unserer Anwendung senden wir Push-Benachrichtigungen mit Adapter-basierter Authentifizierung. Die Benachrichtigung wird basierend auf userId zugestellt. Hier zum ersten Mal zu einer bestimmten userId, ich kann Benachrichtigungen senden. Danach, wenn Benutzer mit einer anderen userId versucht, ich kann keine Benachrichtigung senden, erhalten einen Fehler "Benutzer bereits vorhanden, bitte loggen Sie sich aus".

Fehler im Protokoll: Die Identität eines bereits eingeloggten Benutzers im Realm 'pushAppRealm' kann nicht geändert werden. Die Anwendung muss sich zuerst abmelden.

dafür auf der Clientseite Ich überprüfe, ob Benutzer authentifiziert wird oder nicht, indem Sie "WL.Client.isUserAuthenticated (Realm)" verwenden, es wiederholt immer falsch. Ich versuchte auch mit Abmeldeoption, wenn Benutzer auf Login-Schaltfläche klicke ich den Benutzer abmelden und erneut den Benutzer authentifizieren - hier auch ich habe das gleiche Problem "Benutzer bereits vorhanden loggen Sie sich bitte aus".

+0

Was ist der eigentliche Fehler, den Sie bekommen. –

+0

Wir sind in der Lage, die Benachrichtigung zum ersten Mal zu senden, das zweite Mal, dass wir es nicht bekommen können. Die Authentifizierung wird zum zweiten Mal falsch. –

+0

Was ist "falsch"? Was ist der Fehler, den Sie in Ihren Protokollen bekommen? –

Antwort

0

Push-Benachrichtigungen sollten vom Server und nicht vom Client gesendet werden.

In Ihrem Ablauf wird bei der allerersten Authentifizierung eine Benutzeridentität Ihrem Benutzerbereich zugewiesen. Jetzt rufen Sie vom Client aus die Adapterprozedur auf, die die Benachrichtigung sendet. Beim zweiten Mal übergeben Sie eine andere Benutzer-ID. Diesmal versuchen Sie, sich erneut mit dem anderen Benutzer zu authentifizieren (alle innerhalb derselben Sitzung). Es bedeutet, eine neue Identität zu erzwingen, wenn das Reich bereits eine hat.

Aus diesem Grund sehen Sie eine Nachricht auf dem Server, die besagt - "Die Identität eines bereits angemeldeten Benutzers im Realm 'pushAppRealm' kann nicht geändert werden. Die Anwendung muss sich zuerst ausloggen."

Der richtige Ansatz angenommen werden soll:

  1. Authentifizieren in das Reich.
  2. Abonnieren Sie für Push. Dies weist die Benutzeridentität von 1) Ihrem Abonnement zu.
  3. Verwenden Sie entweder Abrufmechanismen oder REST-API-Aufrufe, um Benachrichtigungen zu versenden. Übergeben Sie die Benutzer-IDs als Argumente in den REST-Aufrufen.
Verwandte Themen