【问题标题】:Can iOS DeviceCheck token remains same across 2 apps if both app has different developer but has same SDK installed?如果两个应用程序具有不同的开发人员但安装了相同的 SDK,iOS DeviceCheck 令牌能否在两个应用程序中保持相同?
【发布时间】:2020-06-07 10:25:47
【问题描述】:

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

由于通用 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)")
        }
    })
}

【问题讨论】:

    标签: ios xcode ios11 devicecheck


    【解决方案1】:

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

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

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

    此外,每个应用都必须使用自己的服务器(或至少自己的服务器配置),因为服务器使用与开发者帐户相关联的 JWT 向 Apple 进行身份验证。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-07
      • 1970-01-01
      • 1970-01-01
      • 2011-08-25
      • 2023-04-01
      • 1970-01-01
      相关资源
      最近更新 更多