Получение email github-пользователя в yii2-authclient

У стандартного клиента yii2 для логина через соцсети yii2-authclient есть замечательный простой плагин для github.

Как и у всех многих таких GitHub-OAuth клиентов, вместе с пользовательской информацией не приходит email. Это особенность непосредственно GitHub-a(http://stackoverflow.com/questions/24689889/the-accounts-github-package-is-causing-my-meteor-user-to-have-a-null-email).

Решается это просто.
В конфиге authClient добавляем нужный нам scope:

В successCallback-функции делаем дополнительный API вызов на получение email-адресов(https://developer.github.com/v3/users/emails/#list-email-addresses-for-a-user):

Собственно теперь, если API вызов прошёл успешно – в $attributes  будет долгожданный email.

Bookmark and Share

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *