【发布时间】:2022-07-15 01:54:57
【问题描述】:
我正在使用 react-native-apple-music https://github.com/Lemonadd-UG/react-native-apple-music 请求用户访问他们的音乐库。它需要我的 Apple 音乐私钥来获取用户的音乐令牌,然后我可以使用它来访问他们的音乐。
await AppleMusic.initialize(
AppleMusicKeyId,
AppleMusicTeamId,
AppleMusicPrivateKey,
);
await AppleMusic.login();
return await AppleMusic.getUserMusicToken();
如何安全地存储和传输私钥?我无法将其存储在客户端上。如果我将它存储在 AWS/GCP 中的秘密管理器中,我仍然需要将其传输到客户端以用于初始化 AppleMusic 库,即使通过 https,它似乎也不是很安全。如果我在传输到客户端期间加密了 Apple 私钥,我仍然需要在客户端上对其进行解密,然后我在保护我用来解密的密钥时遇到了同样的问题。不确定如何真正保护 Apple 音乐私钥并寻求有关最佳实践的帮助。
【问题讨论】:
-
删除了我不好的答案。但是,有一个概念:您不必将私钥传输给客户端。根据其他地方的文档和讨论,您必须生成一个用您的私钥签名的开发人员 token 并使用它在客户端获取用户音乐令牌。 developer.apple.com/documentation/storekit/…
-
这是个好主意。我在我的库中实现了该功能:github.com/vonrosen/react-native-apple-music/blob/master/ios/… 谢谢。
标签: react-native secret-key apple-musickit