验证来自iOS应用程序的后端呼叫

验证来自iOS应用程序的后端呼叫,ios,cloudkit,google-authentication,cloudkit-web-services,Ios,Cloudkit,Google Authentication,Cloudkit Web Services,我正试图找到一个类似于Android的验证,但不适用于iOS 最初发布在a中,但现在已合并到main中,验证让您了解3件事: 那么,你知道: 代币是由谷歌发行的 令牌被发送到由有效负载的电子邮件字段中标识的人操作的设备 该令牌由Android应用程序获得,该应用程序由负载的azp字段中的客户端ID标识 关键是: GoogleAuthUtil将观察到Android应用程序和web客户端ID 在同一项目中,未经用户批准,返回ID令牌 该应用程序由谷歌签名 因此,我能够在不中断用户的情况下验证后端调用

我正试图找到一个类似于Android的验证,但不适用于iOS

最初发布在a中,但现在已合并到main中,验证让您了解3件事: 那么,你知道:

  • 代币是由谷歌发行的
  • 令牌被发送到由有效负载的电子邮件字段中标识的人操作的设备
  • 该令牌由Android应用程序获得,该应用程序由负载的azp字段中的客户端ID标识
  • 关键是:

    GoogleAuthUtil将观察到Android应用程序和web客户端ID 在同一项目中,未经用户批准,返回ID令牌 该应用程序由谷歌签名

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

    苹果的iOS是否也有类似的功能,当苹果观察到iOS应用程序和web客户端ID时,我可以在哪里获得苹果签署的ID令牌?


    我已经找到了一个类似的方法,但我希望找到一个更简单的解决方案。这个问题是一年多以前的事了,所以我希望有一个更好的答案,可能是使用新的CloudKit web服务。

    据我所知,要验证用户身份,您可以使用类似于Oauth2的第三方软件,该软件还使用令牌来验证客户端Id,并从中授予用户访问权限。

    幸运的是,我遇到了用户留下评论的地方

    Iwaz指的是苹果的API,可以用来验证对API的调用是否来自iPhone应用程序的实际安装

    根据文件,其工作原理如下:

  • 通过调用
    DCDevice
    currentDevice
    方法获取当前
    DCDevice
  • 从该
    DCDevice
    调用其
    generateTokenWithCompletionHandler
    方法以获取令牌
  • 向API发出请求时,将该令牌与其他数据一起发送
  • 在您的API服务器代码中,通过提供令牌来调用Apple的API以验证它,如所述

  • 我发现的最接近的东西是:,尽管这与你提到的Android版本不太一样,因为这仍然要求用户拥有Google gmail帐户,我的一些iOS用户可能会反对。几个月来,我一直在寻找与您相同的东西,但没有成功:看来,在没有用户批准的情况下验证服务器通信的唯一方法是从头开始发明一种自主开发的机制!嘿,您仍然可以使用oauth2获取基本上所有的信息,让我知道这对您来说是什么样子的。@但是您找到了解决方案吗。现在我面临着类似的问题,请告诉我你是如何做到的that@bittoo,对不起,我没有告诉你获取推送通知的ID?