我需要实现一种方便的方法来确定有效客户是否正在使用移动应用程序。我的客户告诉我,如果他们的手机丢了,他们肯定会联系运营商并锁定 SIM 卡。
因此,将身份验证绑定到 SIM 卡有效性似乎很自然(只要存在正确的 SIM 卡且未锁定,该应用程序就可以工作)。然后,万一丢失,客户只需要锁定 SIM 卡,他或她无论如何都会这样做(因为网上银行会向手机发送批准交易的短信)。
我试图读取与 SIM 卡相关的数据,但它仅适用于某些手机而不适用于其他手机(有时我得到的只是空字符串而不是 IMEI 号码)。
如何实现身份验证机制,即
- 易于用户使用(不需要用户生成/输入新密码),
- 为应用程序提供当前插入的 SIM 卡是否为
- 与第一次启动应用程序时的 SIM 卡相同,并且
- 没锁?
如果不可能,有哪些身份验证替代方案(除了电子邮件/密码和带有 SMS 确认的电话号码)?
更新 1 (11.08.2013 14:17 MSK):一个明显的解决方案是使用电话号码作为登录名和服务器生成的 6 位数字作为密码。
然后,身份验证将像这样工作:
- 在第一次运行时,用户输入他或她的手机号码。
- 服务器向他或她发送一条带有 6 位密码的消息 (SMS)。
- 用户输入该密码,应用程序开始工作。
- 应用程序会定期要求用户更新密码(新密码也通过短信发送)。
你觉得这个选项怎么样?
它可以以某种方式改进吗?