Реализация входа Apple в веб-приложение (старомодный ASP.NET, но это не имеет значения - вопрос можно рассматривать как простой HTML / JS POC), вызывая метод авторизации на конечной точке Apple:
https://appleid.apple.com/auth/authorize?client_id=...&redirect_uri=...&response_type=code%20id_token&state=...&response_mode=form_post&scope=name%20email
Я хочу получить имя и фамилию пользователя. Метод возвращает что-то вроде этого: {
"state": "xxx",
"code": "yyy",
"id_token": "zzz",
"user": {
"name": {
"firstName":"John",
"lastName":"Doe"
},
"email":"[email protected]"
}
}
id_token - это JWT, который состоит из идентификатора пользователя Apple и электронной почты, нет данных об имени или фамилии.
Как видите, я могу получить имя и фамилию из свойства user. Это единственный известный мне способ.
Проблема в том, что Apple возвращает эти данные только при первом запросе. Это не ошибка, это особенность: