2016-07-10 108 views
0

我在我的应用程序开始时创建简单的用户登录。用户提交正确的用户名和密码后,我的服务器脚本应该返回一些我应该存储在某种本地数据库中的参数,并在每次出现/加载新视图时检查这些参数。登录到swift后在哪里存储用户信息应用程序

我的问题是:

1)类型的本地“数据库”我应该使用,其中一个是从“外面”的安全所以没有人可以访问它,因为如果有人能比,他可以我自己登录(钥匙串,用户默认等)?

2)哪些参数应该从服务器返回,当检查用户是否登录时,哪些参数基本上来自安全性 - 我在考虑用户名和令牌 - 如果用户成功登录,则与服务器脚本应该创建一些将存储在在线数据库中的令牌。每次用户向应用程序发送一些与令牌相关的请求时,如果它存在于应用程序中并且它存在于服务器数据库中并且它们相同。

3)应该如何检查用户是否在应用程序中加载新视图时登录 - 是否应该检查变量是否存在(例如在钥匙串中)还是应该连接到服务器并检查每次服务器数据库?

回答

0

为了存储敏感的用户数据(密码,api标记,电子邮件),您应该始终使用Keychain来达到此目的。另一方面,Realm还提供了安全的方式来存储您的数据。它很容易使用,您只需要包装数据对象与领域基础(对象)类和标记属性与动态属性。对于基本的登录系统,我认为用户名,电子邮件和api标记足够好。但取决于API需要你可以在这里包括电话号码,生日等。对于检查用户授权我认为在大多数情况下验证api标记足够好。

也有最安全的技术,以提高要借数据库属性名称数据安全在你需要使用HTTP API通信API calls.Last事情keychain.Hashing敏感数据部分。

相关问题