问题标签 [sfhfkeychainutils]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1027 浏览

php - php认证令牌+ios

我正在开发一个 ios 应用程序,我让用户使用用户 ID 和密码登录。目前的事件流程如下:

1) 用户输入用户名和密码。

2) 单击登录按钮调用一个 php web 服务,该服务对用户进行身份验证,并根据登录成功或失败返回 1 或 0。

现在,我想对我的 php 登录 web 服务进行更新,以便它可以在第一次成功登录后向 ios 返回一个身份验证令牌。然后我想将此令牌安全地存储在我的手机上。以下是我的问题:

1) 是否有生成认证令牌的标准算法?我在一些线程中阅读令牌应该是UDID+userid+timestamp的加密,但没有看到具体的答案或示例。

2)一旦我在手机上收到令牌,我如何将其安全地存储在钥匙串中。我打算使用SFHFKeychainUtils. 有没有办法可以使用它来存储我的令牌。我搜索了很多关于在钥匙串上存储身份验证令牌/SFHFKeychainUtils但没有找到具体答案的信息。我只是将它存储为用户 ID,令牌组合还是有更好的方法来完成这个。

我非常感谢您的意见。

谢谢,

麦克风。

0 投票
3 回答
792 浏览

ios - iOS 应用程序更新后无法打开

我们有一个应用程序在应用程序商店中运行了将近一年,并且我们收到了一些客户的差评,更新后无法打开应用程序。

用户报告他们在删除并随后重新安装应用程序后无法启动该应用程序。一位用户确实表示,他们只能在 iPhone 恢复出厂设置后才能启动该应用程序。

我们认为该问题与钥匙串有关,因为这似乎在系统中持续存在。出于这个原因,我们将用于访问钥匙串的第三方库更新为https://github.com/soffes/sskeychain。此更改是在版本 1.4.1 中进行的。

发布 1.4.1 后,一些用户表示他们终于能够打开该应用程序。不幸的是,由于我们无法调试问题,我们无法确定可能已解决的问题。此外,我们看到其他用户在升级到 1.4.1 和 1.4.2 时仍然遇到同样的问题。

我们也在考虑这个问题可能与我们的依赖库之一有关:

  • Flurry 分析
  • 脸书 iOS SDK
  • 贝宝 MPL
  • Hockeyapp ios 库
  • ASIHTTP请求
  • 我们不使用 CoreData

我们无法使用标准 iOS 工具对此进行调试,我们甚至不能指望 hockey 应用程序向我们提供崩溃报告,因为该应用程序在发送之前已关闭。

我们不理解这种行为,并且在从应用商店更新时,我们显然无法控制应用。应用程序在删除时是否有任何保留?如果没有,您是否知道任何可能阻止打开重新安装的应用程序的事情?

编辑:我们在 applicationDidFinishLaunching: 应用程序委托的方法中配置 hockeyapp 库:

应用程序标识符在构建设置中配置,并且每个配置都不同。

0 投票
0 回答
135 浏览

ios - 使用 xcode 5 构建的应用程序无法读取为使用 xcode 4.6.3 构建的应用程序存储的密码

我的密码存储似乎在不同的 XCode 版本之间不兼容。

我正在使用 SFHFKeychainUtils 管理密码。如果我使用 XCode 4.6.3 构建我的应用程序,然后使用 XCode 5.0 进行后续构建,我会从这个调用中得到一个(null):

我使用这个调用存储了它:

有没有人遇到过类似的问题,您是否找到了解决此问题的解决方案?如果我更新的应用程序无法从我当前的应用程序中读取存储的数据,那将会很糟糕。

此行在两个版本中都得到完全相同的字典:

我收到以下错误:

0 投票
1 回答
116 浏览

objective-c - 如何从我的应用程序知道 iPhone 是否处于恢复模式

全部

我正在开发一个应用程序,我将 DeviceIdentifier 存储在钥匙串中(由于 ios6 中不推荐使用的方法一直获取唯一标识符)以供以后使用,以识别它是允许使用应用程序的设备。

我将它存储在钥匙串中,我想要实现的是如果设备处于恢复模式或者如果有人恢复备份,我想在钥匙串被删除之前向服务器发送请求以停用存储在钥匙串中的此设备标识符。

是否可以实现或任何其他建议?

0 投票
1 回答
472 浏览

ios - AppStore 更新后 STKeychain 无法找回密码

设想:

  • 我们的应用程序将后端令牌存储在设备的钥匙串(STKeychain,ex SFHFKeychainUtils)中。
  • 后台提取被禁用。
  • 最近发布了一个升级。

我们收到有关用户必须重新登录的报告。这似乎是 STKeychain 令牌检索期间的一个问题(存储的密码被检索为 nil)。

STKeychain(或iOS钥匙串本身)中是否有任何已知的错误会导致此类问题?

在此先感谢,任何线索都将受到欢迎!

0 投票
1 回答
1316 浏览

ios - iOS8/模拟器 - SFHFKeychainUtils 中的错误,SFHFKeychainUtilsErrorDomain 错误 -34018

我刚刚下载了 XCode 6 并调整了我的应用程序以在它下运行。

它似乎工作得很好,但是我使用SFHFKeychainUtils,当我在模拟器中运行应用程序时出现错误:

查看代码,我不太确定为什么会收到该错误。在从 XCode6 运行的 iOS7 设备上运行我的应用程序时,我也没有收到该错误,只是模拟器,所以我认为这是一个 iOS 8 错误。

关于解决这个问题的任何想法?

0 投票
0 回答
104 浏览

ios - 安全密码可在将备份还原到新设备时继续使用

我允许用户创建应用级密码。我通过 SFHFKeychainUtils 在钥匙串中保存和检索它。一切正常,除非用户升级到新设备并从旧设备恢复备份。正确的密码永远不会被接受,显然是丢失了。

这个SO 线程“使用未加密的备份,您只能将钥匙串恢复到同一 iOS 设备”中似乎涵盖了原因的解释。结果是我的 passwordIsSet 标志指示 YES,没有密码匹配,并且用户被锁定在应用程序之外。

除了将密码存储在 NSUserDefault 中之外,我还有什么选择,这显然不安全:

  1. 有没有一种方法可以安全地存储密码,以便将备份恢复到新设备?
  2. 有没有办法让我的应用程序知道它在新设备上,所以我可以清除 passwordIsSet 标志并强制用户创建一个新设备?

请注意,我已经测试了几种不同的方法。密码正确。无论是否重置设备,都可以恢复到相同的设备。该问题仅限于恢复到新设备。

谢谢你。

0 投票
0 回答
294 浏览

ios - 我收到 SFHFKeychainUtilsErrorDomain 错误 - 25299

我正在尝试使用 SFHFKeyChain 将值存储到钥匙串中。但是我遇到了错误(此错误仅在 iOS 8.1 中弹出)。

在此处输入图像描述

任何人都可以知道这个错误。为什么显示此错误。请帮我。

提前致谢。