php - 在 php 中为 Apple api 生成 JWT token

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

我正在尝试在 php 中为 apple connect API 生成 JWT token (以获取销售报告)。

我尝试了这种格式(使用 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,我是否错过了什么或者格式是

最佳答案

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

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

关于php - 在 php 中为 Apple api 生成 JWT token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56844767/

相关文章:

php - 检查外部图像是否存在的正确 PHP 方法?

c# - 从 JWT 中删除 "issuer"导致 401 Unauthorized

node.js - 最简单的 Node.js/Express 授权

javascript - 类似 Twitter 的推文框?

php - mySQLi 准备失败,多个?从形式

asp.net - ASP.Net 中的 JWT token 异常(生命周期验证失败。 token 缺少过期时间。)

iphone - 由于一般错误,此时无法处理应用程序

ios - 我更新后的ios应用仅在更新现有的一个后显示初始屏幕

iphone - 如何在attachmentView/disclosure区域中创建带有“信息符号”的UITableViewCell? (例如iTunes Connect应用)

php - 如何批量删除问题