移动设备上的facebook身份验证如何工作?

时间:2016-08-16 22:04:16

标签: android ios facebook oauth whatsapp

我想了解fb在移动设备(ios / android)上的身份验证是如何发生的?

仅在我安装fb app时第一次输入用户名/密码。而已。从下次开始,它将自动验证自己。

1)fb移动应用程序是否在任何文件中将用户名/密码存储在设备上? 2)它会使用oauth或类似的令牌机制吗?如果是这样,令牌存储在设备上的哪个位置。

我想,我的问题是,它存储在哪个内存/路径/文件名中,因此它是安全的,其他应用程序/ root用户无法访问它。

非常感谢

1 个答案:

答案 0 :(得分:0)

这是一个很好的问题。

将用户密码存储在设备上的标准本地目录中是危险的,原因很明显,如果手机被盗用,黑客可能会访问可能在帐户之间共享的密码(你有吗?您使用的每项服务都有不同的密码?)。

但是,将用户名存储到设备的默认存储空间并不是一个问题,这通常是首选方法。对于iOS,这将是NSUserDefaults

现在,在密码和令牌(肯定必要且FB不会在基于令牌的身份验证时偷工减料)的情况下,两者都是应该受到保护的安全内容,它们是通常存储在某种加密的钥匙串中。在iOS的情况下,凭借Keychain Services进行256位加密。

因此,当您使用自动登录构建应用程序时,您将在加载时从钥匙串中检索密码和令牌。但是,如果设备丢失并最终落入坏人手中,则所有这些数据都将被加密并且无法访问。

当然,我们不要假装这种方法是万无一失的: http://arstechnica.com/security/2015/06/serious-os-x-and-ios-flaws-let-hackers-steal-keychain-1password-contents/

编辑:虽然我的背景是iOS,但我知道Android使用Keystore作为替代方案。

https://developer.android.com/training/articles/keystore.html