我发现这个ruby脚本完全可以满足我的需求。使用.p8签署JWT

https://shashikantjagtap.net/wwdc18-a-basic-guide-to-app-store-connect-api/

但是我该如何在Node.JS中做这部分呢?

private_key = OpenSSL :: PKey.read(File.read(path_to_your_private_key / AuthKey _#{KEY_ID} .p8))

最佳答案

您不需要使用任何花哨的东西。

const privateKey = fs.readFileSync("./AuthKey_123456789Z.p8")

会很好地读取文件,然后您可以将其用于JWT创建,例如jsonwebtoken
.p8只是一个文本文件。
您还可以添加utf8来读取文件,如下所示:

fs.readFileSync("./AuthKey_123456789Z.p8", 'utf8')

然后,如果您console.log()privateKey,您应该看到.p8文件,如下所示:

-----BEGIN PRIVATE KEY-----
0GIBBERISHGIBBERISHGIBBERISHGIBBERISHGIBBERISHGIBBERISHQgS/GIBBERISHf+lol
GIBBERISHukEMK5JaG123123456456YBLABLABLABLABLABLAATH8mUGIBBERISH
GIBBERISHUPVOTETHISYESALIENFUCKERISAGREATBANDUPVOTETHISGIBBERISH
12345678Z
-----END PRIVATE KEY-----


但是就jsonwebtoken(npm包)而言,是否使用'utf8'参数都没有关系。

10-05 20:41