在PHP中为Apple API生成JWT令牌

时间:2019-07-02 03:03:42

标签: php jwt appstoreconnect php-jwt

我正在尝试为php中的Apple Connect API生成JWT令牌(以获取销售报告)。

我尝试了这种格式(使用firebase / php-jwt)

$Private_key = file_get_contents('AuthKey_XYZ.p8');

$Issuer_ID = 'XYZ';
$Key_ID = 'ZDJ';

$data = [
        'iss' => $Issuer_ID,
        'iat' => \Carbon\Carbon::now()->timestamp,
        'exp' => \Carbon\Carbon::now()->addMinutes(20)->timestamp,
        'aud' => "appstoreconnect-v1"
];

$jwt = JWT::encode($data, $Private_key,'HS256', $Key_ID);

收到401,我错过了什么吗?还是格式是

1 个答案:

答案 0 :(得分:0)

我很确定您指定的JWT加密算法是错误的。尝试将其设置为“ ES256”,例如:  $jwt = JWT::encode($data, $Private_key,'ES256', $Key_ID);

在“创建JWT标头”下的文档中 https://developer.apple.com/documentation/appstoreconnectapi/generating_tokens_for_api_requests