使用最少权限

时间:2015-06-20 12:14:40

标签: android ios cordova authentication

在Cordova中唯一标识用户或用户设备的最小侵入方式是什么。我还没有看过iOS,但看起来ANDROID_IDdefinitely not unique,它排除了org.apache.cordova.device.Device&#39; uuid属性。< / p>

具体来说,这是为了在电话或应用程序数据重置的情况下恢复远程用户帐户数据,并且我试图找出如何使用最少的应用程序权限和用户的最小认知负载来执行此操作。 / p>

目前,我认为我唯一的路线是:

  1. 向用户询问电子邮件
  2. 使用第三方身份验证(OpenID,Facebook,Twitter,微博等)
  3. 询问用户的uname /密码

2 个答案:

答案 0 :(得分:1)

如果你的问题只是关于备份,我不知道Cordova / iOS,但Android有一个标准的备份服务,这应该适用于非谷歌固件(假设ROM制造商确实集成了备份服务)

关于拥有唯一ID,我认为没有任何明显的答案,这取决于您更确切的需求:

  • 根据您提供的链接,非唯一ANDROID_ID错误仅适用于&lt; = 2.2,是否与您的用例相关? (编辑:虽然ANDROID_ID 会在手机重置后更改,但这与您的需求不符)
  • 向用户询问电子邮件意味着处理垃圾邮件
  • 用户名/密码表示具有适当的安全性,不泄漏信息
  • 我的个人偏好是第三方authentificatino,但是你需要你的用户拥有你可能不想要的谷歌帐户/脸书/等等

此外,您可能需要考虑的一个问题是Android设备越来越多的用户能力。您想识别设备还是用户? 如果是后者,一个用户可能有多个设备用于同一个应用程序。

答案 1 :(得分:0)

如果你想识别一个用户,那么你必须使用你所拥有的任何一条路线,而且其中任何路线都需要权限,所以由你自己选择。

为了识别设备,最好的选择是使用IMEI手机和Build.SERIAL用于没有IMEI(平板电脑,媒体播放器)的设备,你必须创建一个插件来获取这些值< / p>