验证来自iOS应用的后端来电

yet*_*mer 19 google-authentication ios cloudkit cloudkit-web-services

我试图找到相当于这个Android验证,但对于iOS.

最初发布在博客文章中, 但现在已合并到主要的Android文档中,验证让您知道3件事:然后,您知道:

  1. 该令牌由Google发布.
  2. 令牌被发送到由有效负载的电子邮件字段中标识的人员操作的设备.
  3. 令牌是由有效负载的azp字段中的客户端ID标识的Android应用获得的.

关键是:

GoogleAuthUtil会发现Android应用和网络客户端ID位于同一个项目中,未经用户批准,会将ID令牌返回给Google签名的应用.

因此,我能够在不中断用户的情况下验证后端呼叫.

苹果公司是否有类似于iOS的东西,当苹果公司观察到iOS应用程序和网络客户端ID时,我可以获得Apple签署的ID令牌?

我发现了一个试图找到类似问题SO问题,但我希望找到一个更简单的解决方案.这个问题已经超过一年了,所以我希望可能有更好的答案,可能还有新的CloudKit网络服务.

小智 3

幸运的是,我在 stackexchange 上遇到了这个帖子,用户Iwaz留下了评论。

Iwaz 指的是 Apple 的DeviceCheck 框架,该框架可用于验证对 API 的调用是否来自 iPhone 应用程序的实际安装。

根据文档,它的工作原理如下:

  1. DCDevice通过调用DCDevice的方法获取电流currentDevice
  2. 从中DCDevice调用其generateTokenWithCompletionHandler方法来获取令牌。
  3. 向您的 API 发出请求时,将该令牌与您的其他数据一起发送。
  4. 在您的 API 服务器代码中,通过提供令牌来验证它来调用 Apple 的 API,如此处所述