我正在尝试访问设备检查API以验证来自后端服务器的设备检查令牌。为此,我需要像以下文档中那样创建一个授权令牌:https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/establishing_a_token-based_connection_to_apns
当我转到jwt.io并选择ES256作为算法时,我必须输入2个密钥,一个是公共密钥,另一个是私有密钥。但是在我从Apple开发者帐户下载的.p8文件中,我只有一个私钥。这种方法对我不起作用。
或者,我以下面的方式尝试了node.js'jsonwebtoken'库,在这里我每次都会得到一个未经授权的异常。
var jwt = require('jsonwebtoken');
var cert = fs.readFileSync(keyFileName).toString();
var jwToken = jwt.sign({}, cert, { algorithm: 'ES256', keyid: keyId, issuer: teamId});
这是我要访问的API:https://api.devicecheck.apple.com/v1/query_two_bits