代码之家  ›  专栏  ›  技术社区  ›  TomSwift

验证iPhone推送通知令牌?

  •  3
  • TomSwift  · 技术社区  · 14 年前

    我还没有在我的应用程序中实现推送通知。我的理解是,设备上运行的应用程序必须请求令牌,然后将此令牌发送到我的服务器,并且我的服务器必须在我想向设备/应用程序推送消息时将此令牌传递给Apple。

    请求的推送令牌是特定于应用程序的,还是设备上的所有应用程序共享令牌?

    是否有任何方法可以验证设备发送到我的服务器的令牌确实是由我的应用程序中的请求生成的?

    我担心一个流氓应用程序可能会向我的服务器发送一个有效的令牌,而这不是我的应用程序请求的令牌。这将欺骗我的服务向该设备/应用程序发送推送通知。

    我知道这是不太可能的情况。我正在尝试创建一种机制来验证当我的应用程序向我的服务器发送信息时,我确实在与我的应用程序的一个实例交谈,而不是与某个流氓客户机交谈。推送通知似乎是实现这一点的一种可能方法。

    2 回复  |  直到 12 年前
        1
  •  10
  •   Daniel    14 年前

    请求的推送令牌是特定于应用程序的,还是设备上的所有应用程序共享令牌? 不,请求的令牌特定于您的应用程序和每个设备。

    是否有任何方法可以验证设备发送到我的服务器的令牌确实是由我的应用程序中的请求生成的? 在Apple中有一个服务,您可以在其中查询并找出令牌是否“仍然有效”,它用于诸如当用户删除您的应用程序并且其令牌无效时,您可以查询该服务并检查令牌是否仍然有效,如果不从您的数据库中删除它…因此您也可以使用该服务来确保所给的任何令牌都是有效的…不管怎样,如果你试图推送一个无效的令牌,我怀疑什么都不会发生…

    希望这有帮助

        2
  •  -1
  •   jayesh kavathiya    12 年前
    - (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);
    }