【问题标题】:JWT token generation for apple api in php在 php 中为苹果 api 生成 JWT 令牌
【发布时间】:2019-11-12 15:32:00
【问题描述】:

我正在尝试在 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,是我遗漏了什么还是格式是

【问题讨论】:

  • 尝试使用以下代码和算法 RS256 读取 p8 文件:$keyfile = 'AuthKey_XYZ.p8';$key = openssl_pkey_get_private('file://'.$keyfile);
  • 还是一样。甚至尝试使用新密钥(管理员)

标签: php jwt app-store-connect php-jwt


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2019-06-24
    • 1970-01-01
    • 1970-01-01
    • 2018-11-02
    • 2023-01-27
    • 2018-08-29
    • 2021-07-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多