如何区分客户端设备?

时间:2014-02-15 03:55:44

标签: android ios node.js authentication

修改

我只需区分三种类型的设备。因此,在我的应用程序中,我可以向当前用户发送更新,但是在其他有效设备上,如果他目前有来自任何其他设备的活动会话!

可能的解决方案
我可以忽略这一点,因为它使它变得更难。但这意味着我总是发送推送更新,即使用户只从一个设备访问该应用程序!但是,这确实为我提供了推送通知历史记录将始终具有推送通知的完整历史记录的优势。而不是有时没有推送通知,因为他在可能的推送通知时仅在一个设备上处于活动状态(因此不需要此通知)

ORIGINAL

所以我有一个将node.js作为后端的应用程序。现在它被制作成使得相同的服务器(意味着后端代码)用于:

  1. 浏览器客户端
  2. Android应用
  3. iOS应用
  4. 一切都是JSON。

    现在我如何知道请求来自哪个“设备”。

    “设备类型”仅在启动时检查,之后“设备类型”存储在用户的会话中。

    在移动应用程序二进制文件中加入“秘密”并不安全(我认为)。

2 个答案:

答案 0 :(得分:1)

对于iOS,您可以使用唯一标识符(如this related question/answer中详述的内容)。请记住,如果用户删除并重新安装您的应用,唯一标识符将会更改。

对于浏览器,您可以使用IP地址或浏览器首次连接到服务器时提供的某种“令牌”或cookie。

对于Android,您可以使用Settings.Secure#ANDROID_ID,as found in the answer to this question

答案 1 :(得分:1)

您可以使用User-Agent标头来传递设备和操作系统版本,就像浏览器现在一样。