0

假设 App A 和 App B 都共享公共的第三方库......通过该公共 SDK 生成时,iOS devicecheck 令牌是否可以保持相同?

由于通用 SDK,他们将使用相同的服务器来验证类似这样的令牌

let curDevice = DCDevice.current
if curDevice.isSupported
{
    curDevice.generateToken(completionHandler: { (data, error) in
        if let tokenData = data
        {
            print("Received token \(tokenData)")
        }
        else
        {
            print("Hit error: \(error!.localizedDescription)")
        }
    })
}
4

1 回答 1

2

您收到的令牌generateToken是单一使用价值。这是您传递给 Apple 服务器的不透明值。Apple 会将不同的值与同一设备相关联,但您不能自己关联不同的令牌值。

即使是 App A 的连续调用也不会收到相同的值generateToken

如果 App A 和 App B 与不同的开发者帐户相关联,则 Apple 的服务器会将相关令牌视为不同的设备。

此外,每个应用程序都必须使用自己的服务器(或至少自己的服务器配置),因为服务器使用也链接到开发人员帐户的 JWT 向 Apple 进行身份验证。

如果来自开发者 B 的 App B 向服务器提供了一个令牌,该令牌传递了一个与开发者 A 关联的 JWT,则令牌验证将失败。

于 2020-06-07T11:44:43.370 回答