登录 swift ios 应用程序后存储用户信息的位置

where to store user info after login to swift ios app

我正在我的应用程序开头创建简单的用户登录。用户提交正确的用户名和密码后,我的服务器脚本应该 return 一些我应该存储在某种本地数据库中的参数,并在每次新视图 appear/loads 时检查这些参数。

我的问题是:

1) 我应该使用哪种类型的本地 "database",哪种类型的本地 "database" 是安全的,因此 "outside" 的其他人无法访问它,因为如果有人可以,他可以自己设置我的登录信息(钥匙串、用户默认值等)?

2) 我应该从服务器 return 哪些参数,其中哪一个本质上是来自安全检查用户是否登录时 - 我正在考虑用户名和令牌 - 如果用户成功登录在中,服务器脚本应该创建某种类型的令牌,这些令牌将存储在在线数据库中。每次用户从应用程序向服务器发出一些请求时,都会检查令牌是否存在于应用程序中以及是否存在于服务器数据库中以及它们是否相等。

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

为了存储敏感的用户数据(密码、api 令牌、电子邮件),您应该始终为此使用钥匙串 purpose.In 另一方面,Realm 也提供安全的方式来存储您的data.Its 易于使用,你只需要用领域基础(对象)class 包装数据对象并用动态 attribute.For 基本登录系统标记属性我认为用户名,电子邮件和 api token good enough.But depends on api needs you can include here phone number, birthday etc.For checking user authorization 我认为在大多数情况下验证 api token 就足够了.

还有最安全的技术可以提高数据安全性,例如将数据库 属性 名称保留在 keychain.Hashing 敏感数据部分中 api calls.Last 您需要的东西使用 https api交流。