github API oauth с laravel/socialite: не возвращает электронную почту

Я пытаюсь использовать расширение Laravel Socialite.

URL-адрес, который он генерирует для github, имеет scope=user%3Aemail:

https://github.com/login/oauth/authorize?client_id=111111&redirect_uri=http%3A%2F%2Flocalhost%3A8880%2Fauth%2Fcallback%2Fgithub&scope=user%3Aemail&state=222222&response_type=code

Затем запрашивается https://api.github.com/user?access_token=$token И ответ кажется в порядке, за исключением поля электронной почты: это null. Другие поля выглядят хорошо: login, id, avatar_url и т. д.

Как я могу получить электронную почту пользователя?


person Dmitry    schedule 24.01.2015    source источник


Ответы (3)


Глядя на документацию Socialite на Github, можно увидеть довольно простой метод перенаправления и получения всего пользовательского объекта. Я уверен, что там будет электронная почта.

https://github.com/laravel/socialite

person Noman Ur Rehman    schedule 27.01.2015
comment
Как я упоминал ранее, область действия по умолчанию содержит user:email. Похоже, это ошибка, и я сделал запрос на включение. - person Dmitry; 28.01.2015
comment
@DmitryR тоже не возвращает имя. - person junior; 03.02.2015

Я сделал запрос на перенос этой проблемы:

https://github.com/laravel/socialite/pull/41

person Dmitry    schedule 17.02.2015

Это зависит от настроек конфиденциальности вашей учетной записи GitHub.

person FlyBot    schedule 25.03.2015