我试图在iOS11中使用Apple的新DeviceCheck机制实现免费试用机制。我已经在RAIL 4中实现了服务器部分。这里有相当多的代码,所以我把它放在一个要点:https://gist.github.com/jmfriend/b86f52f8f0649ad4cae176c08b77f000
我收到错误:"遗漏或格式错误的授权令牌"。这表明我在为AuthKey _ #####。p8文件生成JWT时做错了。
此代码也在要点中,但为了便于参考,鉴于它可能出现的问题是处理p8文件的代码:
$addTypeCommand = Get-Command -Name 'Add-Type'
$addTypeCommandInstance = [Activator]::CreateInstance($addTypeCommand.ImplementingType)
$resolveAssemblyMethod = $addTypeCommand.ImplementingType.GetMethod('ResolveReferencedAssembly', [Reflection.BindingFlags]'NonPublic, Instance')
$compilerParameters = New-Object -TypeName System.CodeDom.Compiler.CompilerParameters
$compilerParameters.CompilerOptions = '/debug-'
foreach ($reference in $ReferencedAssemblies)
{
$resolvedAssembly = $resolveAssemblyMethod.Invoke($addTypeCommandInstance, $reference)
$compilerParameters.ReferencedAssemblies.Add($resolvedAssembly)
}
$compilerParameters.IncludeDebugInformation = $true
Add-Type -TypeDefinition $TypeDefinition -CompilerParameters $compilerParameters
答案 0 :(得分:0)
"缺少或格式错误的授权令牌"此实例中的问题是由使用应用程序标识符引起的:xxxx.com.companyname.subdomain。*在使用应用程序的开发版本时。在您的应用的实时版本中,因为此应用ID最终是一个明确的应用ID,它将起作用。
我已经测试了这个,通过使用不同的配置文件来使我的应用程序的开发版本使用显式的App ID。
'无法找到位状态'事实证明,只是意味着你还没有为这个设备设置任何位。在设置其位之前,您不需要验证设备。注意还更新了RAIls要点,以便对现场工作进行编码。