GoogleAuthUtil就像iOS的设备身份验证一样,可以验证请求是否来自Apple设备

Yer*_*erk 11 android cocoa-touch google-authentication ios

Google Auth Util允许Android开发人员验证其服务器收到的请求来自Android设备.

设备会根据与设备关联的Google帐户从Google获取令牌,然后设备的请求会随该令牌一起发送到服务器,然后服务器会询问Google是否有效.任何密钥都不在应用程序源之外,因此恶意人员无法破解应用程序并访问私钥和软件请求到服务器.

我已经看了一段时间,似乎Apple没有提供这样的东西,但我希望有一些功能相似的功能,我可以用于iOS.

Roy*_*alk 1

更新

虽然问题中隐含的假设似乎合理,但实际上并不正确。对 Google 来源的进一步阅读表明,Auth Util(以及后来的 Firebase)的目的是对用户进行身份验证并保护服务器。鉴于服务器只能看到网络流量,因此可以从另一个客户端复制流量。

此外,Android 的定义相当模糊,因为 OEM 会修改基本操作系统以满足他们的需求。

这可能是错误的

一种选择是使用Apple 推送通知。您可以注册设备并专门向其推送通知当您的应用程序加载时,它会使用其设备令牌向服务器发送请求,并通过 APN 接收本质上是会话 cookie 的内容。

需要注意的是它没有加密。您可以通过在请求中发送随机生成的对称密钥来轻松解决此问题。您获得的 cookie 将在服务器上进行加密,并在 iOS 设备中使用相同的密钥进行解密。

这解决了在源中存储密钥的问题,并证明请求来自 iOS 设备。

当然,这可以通过生成证书、将其存储在密钥链中并在注册时将私钥发送到服务器进行存储来简化。使用 APN 进行初始注册和验证后,可以使用设备 ID + 证书公钥对后续消息进行签名。

最后一个问题是 APN 也可用于注册 OSX 设备。我还没能弄清楚如何排除这些(还)。

免责声明:编写规范是漫长的一天。我对最初使用 APN 注册 iOS 设备的机制相当满意。我可能弄错了加密部分。如果是这样,请温和地发表评论。