IBM MobileFirst 7.1.0 WL.Device.getID 在同一设备上更改

Posted

技术标签:

【中文标题】IBM MobileFirst 7.1.0 WL.Device.getID 在同一设备上更改【英文标题】:IBM MobileFirst 7.1.0 WL.Device.getID changes on the same device 【发布时间】:2016-04-15 12:39:58 【问题描述】:

mfp -v 7.1.0.00.20160401-2108 wladm -版本 7.1.0.00.20160323-1606

WL.Device.getId 有时会在同一设备上通过应用商店重新安装或更新返回不同的 ID。 它发生在 android 和 iPhone 上。 仅当重新安装(更新)应用程序或从调试切换到发布时才会发生这种情况。 安装后,ID 是持久的。 我们使用 LDAP 服务器,其中 DeviceID 是登录值。因此,当 ID 更改时,我会看到来自同一设备的全新登录值。

这种行为可能是什么原因?

【问题讨论】:

我们需要询问更多信息: - 这是升级系统还是新安装? - 你用的是什么数据库? Cloudant、DB2 等 - 您是说行为不一致。您是否看到了应用程序在出现问题的设备上的相对时间的模式? - 您是否在服务器或客户端日志中看到错误?我建议您做的一件事是直接查看数据库中的记录,找出其中一台设备给您的结果不正确,并查看该设备在数据库中是否有多个记录。 我最近用新的 iFix 升级了服务器。我们使用 DB2。更改发生在重新安装或应用程序更新时。当我从开发人员(调试)切换到发布时,或者从商店更新时。我们使用 LDAP 服务器,其中 DeviceId 是登录值。当发生变化时,我会看到来自同一设备的全新 ID。 【参考方案1】:

背景资料: MobileFirst SDK for android 生成的设备 ID 存储在 KeyStore 文件中,而在 ios 中则存储在钥匙串文件中。在应用程序卸载/重新安装/升级、最终用户更改设备安全设置或进行出厂重置等情况下,这两者都不能 100% 保证保留原始存储值。

由于这些原因,不建议使用 WL.Device.getId 值作为主要登录值。

推荐的模式是使用唯一的用户身份,例如电子邮件或用户名。请注意,未来版本的 MFP 可能会停止支持 WL.Device.getId API 方法。

【讨论】:

以上是关于IBM MobileFirst 7.1.0 WL.Device.getID 在同一设备上更改的主要内容,如果未能解决你的问题,请参考以下文章

ionic IBM MobileFirst platform 8.0 sqladapter ReferenceError: WL is not defined

从 WL6.3 迁移后,Android 中的 IBM MobileFirst 7.1 服务器连接失败

IBM Mobilefirst CLI 7.1.0 mfp 推送错误

IBM MobileFirst 7.1.0 APNS 证书错误:无法处理证书

IBM Mobilefirst CLI 7.1.0 错误与 mfp start 和 mfp push

IBM MobileFirst Platform 中的证书固定