我的iOS应用程序中有一个登录屏幕.NSUserDefaults当您再次进入应用程序时,用户名和密码将保存在再次加载到登录屏幕中(当然,这NSUserDefaults是永久性的).
现在,用户可以禁用用户名/密码保存功能.
那么NSUserDefaults将被清除.
但在我的应用程序中,我需要这个用户名/密码用于用户的数据库查询.那么:除了存储数据的位置NSUserDefaults?(当用户退出应用程序或注销时,可以/应该删除此位置).
当用户登录服务时,我应该在哪个地方存储令牌?我不是保存密码(显然我在使用钥匙串的地方),而只是保存密码.很多地方都说只使用NSUserDefaults,但StackOverflow上的一些人似乎真的热衷于Keychain.
NSUserDefaults很好吗?
我正在构建一个iOS应用程序,用户使用我的Web服务进行身份验证.我不希望他们每次启动应用程序时都会登录(令牌持续一个月).所以我想把它缓存在某个地方的设备上.
安全地做到这一点的最佳方法是什么?
我可以依靠应用程序保持暂停并将令牌保留在"内存"中吗?
我有一些Mac代码需要存储,访问和更新密码才能将用户与Web API连接起来.放置此信息的正确位置应该是Mac Keychain,但似乎没有cocoa接口(请参阅此答案) - 这仍然是正确的吗?
我看过Apple的Keychain文档,API似乎非常笨重.我可以存储并检索记录,但任何更复杂的东西似乎都需要考虑可能出错的地方(请参阅此错误代码列表).
除了通过C代码之外,还有更好的Mac钥匙串接口吗?我最接近的是EMKeychain,但它似乎需要一些工作(例如,除了吐出到控制台之外没有错误处理代码).
我正在考虑使用SSKeychain在iOS应用程序中存储密码,但我不确定我是否需要一些特定的帐户和服务值,或者它是否可以任意使用.有共同的做法吗?
ios ×4
keychain ×3
objective-c ×3
iphone ×2
security ×2
api ×1
cocoa ×1
macos ×1
sskeychain ×1
xcode ×1