Здравствуйте. Есть ли мануал по настройки входа по почте Яндекс? Спасибо заранее! (новичок, пока тестирую на локалке)
Рассказываю)
1. Регистрируемся на oauth.yandex.ru.
Регистрируем страницу. Redirect URI устанавливаем в [адрес вашего мудла]/admin/oauth2callback.php
Устанавливаем права: доступ к адресу электронной почты, логину, имени и фамилии, портрету.
2. В админке добавляем пользовательскую службу oauth2. Название - Яндекс, ID пользователя = ClientID (берёте со страницы яндекса), Пароль клиента = Client secret.
Области, включенные в запрос (важно!!!): login:info login:email login:avatar
3. Залетаем в сопоставления полей на странице Службы OAuth 2:
Имя внешнего поля | Имя внутреннего поля |
default_email | |
login | username |
last_name | lastname |
first_name | firstname |
>> Области, включенные в запрос (важно!!!): login:info login:email login:avatar
Куда это вводить, в какое поле, в каком формате?
>> 4. Создаём конечные точки
А точнее? Имя конечной точки? Её URL?
ЗЫ: вроде как и есть инструкция, и как бы ничего не настроишь по этой инструкции
Конечные точки оно само определяет или их нужно самим вводить?
Откуда инфа про области "login:info login:email login:avatar"?
Откуда инфа про области "login:info login:email login:avatar"?
Копал в этом направлении, login:info login:email login:avatar - это отсюда: https://modx.pro/help/20213, в доках Яндекса пишут:
пройти по ссылке https://oauth.yandex.ru/client/<Ваш_client_id>/info и посмотреть "scope": ["login:avatar", "login:birthday", "login:email", "login:info", "login:default_phone"]
Конечные точки вбивал сам
token_endpoint https://oauth.yandex.ru/token
authorization_endpoint https://oauth.yandex.ru/authorize
userinfo_endpoint https://login.yandex.ru/info?format=json
пройти по ссылке https://oauth.yandex.ru/client/<Ваш_client_id>/info и посмотреть "scope": ["login:avatar", "login:birthday", "login:email", "login:info", "login:default_phone"]
Конечные точки вбивал сам
token_endpoint https://oauth.yandex.ru/token
authorization_endpoint https://oauth.yandex.ru/authorize
userinfo_endpoint https://login.yandex.ru/info?format=json
Огромное спасибо за детальную информацию! Всё _почти_ заработало.
Не могу только разобраться с сопоставлением поля номер телефона.
default_phone | {"id":261973937,"number":"+7985ХХХХХХХ"} |
Прописал имя внешнего поля number, но не сопоставляется. При регистрации остается пустым.
Может подскажете как победить?
И ещё один вопрос: у меня есть доп поле "Пол". Естественно значения для него "мужчина" и "женщина". Но яндекс возвращает male и female. Как соспоставить правильно?
Это вложенное поле потому надо писать через тире
default_phone-number
default_phone-number