Нужно ли мне завершить sh поток OAuth (обменный код для токена доступа) при входе через Apple? - PullRequest
0 голосов
/ 17 января 2020

После того, как пользователи войдут в систему, предоставьте разрешение и перенаправьте обратно в мое приложение. Я получил что-то вроде этого

{"state"=>"xxx",
"code"=>"yyyy", 
"id_token"=>"zzzz",
"user"=>"{
....
}"}

Это все, что мне нужно для создания учетной записи пользователя, но поток OAuth еще не закончен. Для нормального потока мы использовали бы этот код для извлечения токена доступа из https://appleid.apple.com/auth/token

https://developer.apple.com/documentation/signinwithapplerestapi/generate_and_validate_tokens

Мой вопрос, должен ли я это делать? Это, кажется, не добавляет никакой ценности к текущей ситуации.

Ответы [ 2 ]

0 голосов
/ 06 февраля 2020

Apple возвращает id_token непосредственно после авторизации пользователя в ответе на обратный вызов, если вы запрашиваете его, что также кажется вашим случаем. Если вам просто нужно удостоверение пользователя для создания учетной записи или входа пользователя в связанную учетную запись на вашей стороне, вам не нужно получать токен доступа / refre sh по коду обмена для API / token api. Просто проверьте id_token , как указано в Проверьте токен Identity , прежде чем получать от него данные пользователя.

Обмен кода авторизации для токена доступа / обновления / идентификатора будет необходим, если вы не запрашиваете id_token в первоначальном запросе авторизации и вам требуется идентификация пользователя для продолжения. Затем вы можете получить его согласно Получить информацию о пользователе с серверов Apple ID

0 голосов
/ 17 января 2020

В основном generate_and_validate_tokens - это только если вы используете веб-вход в систему. Если вы используете службы аутентификации, то фреймворк обрабатывает все логи авторизации c для нас. Следовательно, получение токена доступа от https://appleid.apple.com/auth/token не требуется.

...