You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Apple登录响应中获取用户名?

解决Apple登录无法获取用户名的问题

我之前也踩过一模一样的坑!Apple登录的name字段确实有不少容易忽略的细节,咱们一步步来捋清楚:

  • 首次授权才会返回用户名:Apple的规则很明确——用户第一次给你的应用授权时,才会返回姓名相关字段。哪怕用户后来卸载重装应用,只要没重置过权限,都不会再返回name。你提到的「停止使用Apple ID」其实就是重置权限,但要注意:重新授权时,必须确保请求里正确携带了name scope,同时前端要把Apple返回的user对象(包含姓名)完整传给后端,别只传id_token。

  • 核对scope的传递格式:确认你的授权请求里,scope参数是用空格分隔的字符串,比如scope="name email",别写成数组或者其他格式。另外,去Apple开发者后台核对下应用配置,确保允许请求name这个scope(一般默认是开启的,但保险起见查一遍)。

  • 别只盯着id_token:很多人会犯这个错——name字段不一定在id_token里!在authorization code flow的场景下,用户授权后,Apple会直接在响应体里返回一个user对象,里面包含firstName和lastName。如果你只解析了id_token,自然看不到姓名信息。

  • 测试时的正确操作:除了「停止使用Apple ID」,你还可以打开Apple ID设置→找到你的应用→「编辑权限」→关掉「全名」权限再重新开启,然后回到应用重新登录,这时候应该就能拿到姓名了。

内容的提问来源于stack exchange,提问作者user12125591

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 00:32:43