V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
thinkif
V2EX  ›  问与答

在做一个手机应用,请问如下方式进行用户身份验证是否合理。

  •  
  •   thinkif · 2015-04-07 17:18:17 +08:00 · 1829 次点击
    这是一个创建于 3545 天前的主题,其中的信息可能已经有所发展或是发生改变。
    用户登录进来后系统生成一个Token并返回给客户端,以后客户端所有查询均发送由『用户名+设备ID+Token+时间戳』取经过哈希计算的结果,同时传给服务器用户名和时间戳。

    服务器根据用户名查询到用户的设备ID和Token,用传递过来的时间戳做同样的运算,如果结果相同则认为验证通过。

    时间戳给个有效期如果超过有效期则直接拒绝。

    本应用要求用户绑定手机,所以设备ID绑定后不变。

    请问这个思路是否合理。
    9 条回复    2015-04-08 20:52:46 +08:00
    virusdefender
        1
    virusdefender  
       2015-04-07 18:13:04 +08:00
    没问题吧
    honeycomb
        2
    honeycomb  
       2015-04-07 18:19:18 +08:00
    怎么都想拿设备ID呢,这个东西给伪造值呢?
    thinkif
        3
    thinkif  
    OP
       2015-04-07 20:17:22 +08:00 via iPhone
    @honeycomb
    有什么别的办法绑定设备么?
    另外是个内部应用,绑定设备是为了便于管理
    honeycomb
        4
    honeycomb  
       2015-04-07 20:30:58 +08:00   ❤️ 1
    @thinkif

    苹果就拿不到直接的设备ID
    虽然可以随机生成一个丢keychain,但恢复出厂后也会消失
    thinkif
        5
    thinkif  
    OP
       2015-04-07 20:35:13 +08:00 via iPhone
    @honeycomb
    那没事,后台有授权管理,接触绑定就可以了。

    现在就是想论证一下身份验证是否有不妥的地方
    honeycomb
        6
    honeycomb  
       2015-04-08 09:20:01 +08:00
    @thinkif 拿设备串号就是不妥呀
    thinkif
        7
    thinkif  
    OP
       2015-04-08 10:57:32 +08:00
    @honeycomb
    已感谢,给你回回血 :)

    重点不是设备ID,或者说我不用设备ID,也不验证设备唯一性,光说这个校验的思路是否有问题,有没有其他更好的方式。

    之前在网上找了很多,大概都是差不多的方式:登录获取Token,本地计算出Sign,可能算法会略有不同,服务器校验Sign并考虑过期时间。

    在这发帖子就是想问这样是否合理,是否有更好的方法值得尝试。
    honeycomb
        8
    honeycomb  
       2015-04-08 14:25:58 +08:00
    @thinkif

    抱歉我说的偏激

    应该更正一下:
    以广告、营销的用户追踪为目的情况下不应记录可永久/半永久唯一识别设备的信息

    拿Android来说
    IMEI/MEID
    MAC
    Android ID
    都不能获取

    不能跨应用共享同一家用户追踪方案提供者的数据
    thinkif
        9
    thinkif  
    OP
       2015-04-08 20:52:46 +08:00
    @honeycomb
    你想的复杂了,如同我在三楼回复时提到的,这是个内部应用。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1091 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 19:00 · PVG 03:00 · LAX 11:00 · JFK 14:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.