我最近开始使用Android应用程序,我已经达到了我希望它与Web服务进行通信的程度,我完全理解如何以不安全的方式执行此操作,我稍微绊倒了关于安全。
我希望它能像手机上的facebook应用程序一样工作,它总是登录,似乎永远不会过期。
我的第一个想法是使用User / Pass并使用SSL加密在手机上本地保存它们。但这可能是一个安全问题,丢失的手机根植,然后人们可以看到登录和通过(即使他们是哈希/加密,这似乎是一个问题)
我的另一个选择是使用Oauth 1a / 2但是如果我没有弄错,这似乎有同样的问题,除了使用auth令牌,这意味着除了在api层之外会出现同样的问题。
我也研究了机器人帐户管理器,但我打算为iOS制作这个,所以我想使用两者的通用做法。
你们有什么想法?
一般问题:
刷新Oauth令牌与再次登录相同,还是只是一个新的Oauth令牌?
有没有办法从手机中获取唯一ID以检测是否正在使用“新手机”?
有谁知道facebook或google如何在他们的设备上处理他们的身份验证/授权?他们只是存储一个永不过期的身份验证令牌,或者只是发布一个新的身份验证令牌吗?
我认为Android应用程序似乎很容易受到“如果有人发现漏洞来提取身份验证令牌而没有root访问权限会怎样?”我认为这是错误的吗?
我还错误地认为,只有当他们获得我的令牌时才能阻止某人通过api访问我的帐户,如果我访问并使用了api并且它将我的Oauth更新为新值以使我的旧一个过时的? (假设没有可靠的方法来判断哪个设备是哪个)
答案 0 :(得分:1)