使用Sign in with Apple的token调用Apple Music API的实现方案咨询
解答
问题A结论
Apple MusicKit及Apple Music API的所有公开接口仅返回用户音乐库相关资源,不提供姓名、邮箱等个人身份信息的查询能力,无法通过该路径获取用户身份信息。
问题B结论
Sign in with Apple颁发的access token和Apple Music要求的Music User Token属于两套完全独立的授权体系,权限范围完全隔离,目前没有办法通过单次授权获得同时支持身份信息查询和音乐API调用的统一token,你代码中将Sign in with Apple的access token作为Music User Token调用接口的方案本身不具备可行性。
问题C解决方案
可以实现用户仅输入一次账号密码完成全部授权,不需要两次登录:
- 前端先加载Sign in with Apple和MusicKit JS的SDK
- 先引导用户完成Sign in with Apple授权,拿到用户姓名、邮箱等身份信息回传给后端存储
- 由于用户此时已经在当前浏览器会话中完成了Apple ID登录,紧接着唤起MusicKit的音乐权限授权弹窗时,不需要用户再次输入账号密码,仅需点击确认音乐授权即可拿到Music User Token,回传给后端和当前用户身份绑定
- 后续调用音乐接口时使用对应Music User Token,身份信息直接取用Sign in with Apple返回的字段即可
内容的提问来源于stack exchange,提问作者Florian
相关产品推荐
相关产品推荐

