2010-06-18 5 views
3

Je n'ai pas encore implémenté les notifications push dans mon application. Ma compréhension est que l'application qui s'exécute sur l'appareil doit demander un jeton, puis envoyer ce jeton à mon serveur, et que mon serveur doit transmettre ce jeton à Apple chaque fois que je veux envoyer un message au périphérique/à l'application.valider le jeton de notification push iphone?

Un jeton de push spécifique à l'application est-il demandé ou toutes les applications de l'appareil partagent-elles un jeton? Y at-il un moyen pour moi de valider que le jeton envoyé par l'appareil à mon serveur a bien été généré par une demande dans mon application?

Je suis préoccupé par une parodie possible où une application voyous pourrait envoyer un jeton valide à mon serveur qui n'était pas un token mon application demandée. Cela pourrait amener mon service à envoyer des notifications push à cet appareil/application. Je comprends que c'est un scénario improbable. J'essaye de créer un mécanisme pour vérifier que quand mon application envoie des informations à mon serveur je parle en effet avec une instance de mon application, pas un client escroc. Les notifications push semblent être un moyen possible d'y parvenir.

Répondre

10

Est-ce qu'un jeton Push spécifique à l'application est demandé ou toutes les applications de l'appareil partagent-elles un jeton? Le jeton demandé n'est pas spécifique à votre application et à chaque périphérique.

Y a-t-il un moyen pour moi de valider que le jeton que l'appareil envoie à mon serveur a bien été généré par une requête dans mon application? Il existe un service avec apple dans lequel vous pouvez interroger et savoir si un jeton est "encore valide", cela est utilisé pour des choses comme lorsqu'un utilisateur supprime votre application et que son jeton est invalidé, vous pouvez interroger le service et vérifiez si le jeton est toujours valide et si vous ne le supprimez pas de votre base de données ... Vous pouvez donc également utiliser ce service pour vous assurer que tous les jetons sont valides ... de toute façon si vous essayez de pousser vers un jeton invalide arriver ...

espérons que cette aide

+0

le jeton est en fait unique à la combinaison de périphériques et d'applications. Ainsi, la même application, sur le même compte iTunes, sur un appareil différent obtient un jeton différent. C'est ainsi que l'utilisateur peut contrôler les appareils auxquels les notifications sont envoyées. – Alex

+0

Vérifiez http://stackoverflow.com/questions/1278834/php-technique-to-query-the-apns-feedback-server pour la validation –

-1
- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)dToken { 

    NSString *strToken = [NSString 
        stringWithFormat:@"%@",dToken]; 

    NSLog(@"deviceToken is : %@",strToken); 

    strToken = [strToken stringByReplacingOccurrencesOfString:@" " withString:@""]; 
    strToken = [strToken stringByReplacingOccurrencesOfString:@"<" withString:@""]; 
    strToken = [strToken stringByReplacingOccurrencesOfString:@">" withString:@""]; 

    NSLog(@"deviceToken is : %@",strToken); 
} 
+0

cette réponse n'a rien à voir avec la question. –

Questions connexes