Блог

×

Внимание

Twitter Consumer Key not defined.

Плагин LenAuth обновился до новой версии 1.2

Рейтинг:  3 / 5

Звезда активнаЗвезда активнаЗвезда активнаЗвезда не активнаЗвезда не активна
 

С момента прошлого обновления функционала модуля авторизации для Moodle прошло уже около полугода и еще тогда были задумки по его улучшению, но время воплотить эти задумки появилось лишь в последние дни, которые частично и были потрачены на воплощение этих идей. Надо отметить что (тьфу-тьфу) за время нахождения плагина в официальном репозитории Moodle у пользователей не возникло особых проблем по работе с ним, вопросы обычно касались факторов, никак не касающихся функционала модуля, а больше проблем было с внутренними настройками их сервера, например, с настройками php.

Что было сделано

Интеграция поддержки протокола OAuth2 Yahoo

Переключение версий OAuth для YahooНедавно Yahoo наконец-то внедрил поддержку протокола OAuth2, который намного легче и быстрее. Мы решили сохранить поддержку обращений к протоколу OAuth 1.0 для тех у кого уже успешно функционируют старые приложения и сделали специальный переключатель версий этих протоколов в настройках Yahoo (кстати он включен в плагине по-умолчанию!), но мы все же настоятельно рекомендуем переводить Ваши приложения на протокол OAuth 2.0.

Подключение к протоколу OAuth 2.0 у Yahoo имеет свои особенности

Согласно документации, как и во всех социальных сетях, Вам необходимо создать приложение для авторизации, далее необходимо сформировать ссылку с GET-параметрами от URL https://api.login.yahoo.com/oauth2/request_auth:

  • client_id — Consumer Key из данных Вашего приложения
  • redirect_uri — Ваша ссылка, которая будет принимать code
  • response_type — должно быть значение code
  • state — необязательный параметр, который будет передан в redirect_uri при успешном выполнении запроса
  • language — необязательный параметр, язык интерфейса

После получения code в GET-параметре, необходимо использовать его для построения запроса получения access token. Для этого необходимо построить POST запрос к URL https://api.login.yahoo.com/oauth2/get_token с параметрами:

  • client_id — Consumer Key из данных Вашего приложения
  • client_secret — Consumer Secret из данных Вашего приложения
  • redirect_uri — тот же redirect_uri что и при запросе code
  • code — параметр, полученный при первоначальном GET-запросе
  • grant_type — должен быть authorization_code

Здесь важной особенностью этого запроса является, что в header CURL-запроса необходимо подставить строку с base64 преобразованием по стандарту RFC 2617, а строка должна складываться путем конкатенации client_id:client_secret. На деле это означает что в CURL-запросе необходимо передавать CURLOPT_USERPWD таким образом:
curl_setopt($curl_init_var, CURLOPT_USERPWD, "your_client_id_consumer_key:your_client_secret");

При успешном запросе ответ придет в виде json, например такой:
{"access_token":"Jzxbkqqcvjerh2IMxGFEE1cuaos--","token_type":"bearer","expires_in":3600,"refresh_token":"AOiRUlJn_qOmBQVGTmRpwcMKW3XDcipToOoH42wRoyWgJCfRFlA-","xoauth_yahoo_guid":"JT8FA3BQZA2OCE"}

Параметр xoauth_yahoo_guid Вам понадобится для окончательного запроса к данным пользователя. Этот GET-запрос строится с помощью подставления в URL Вашего xoauth_yahoo_guid:
https://social.yahooapis.com/v1/user/YOUR_XOAUTH_YAHOO_GUID/profile?format=json

При этом в header запроса нужно передать Authorization: Bearer YOUR_CODE

Далее возвращается json-строка, которая преобразуется в массив и его обрабатывает LenAuth.

Произвольный/свой порядок вывода кнопок

Произвольный порядок вывода кнопок авторизации LenAuthЭта идея была давно: дать пользователю Moodle самому строить порядок вывода кнопок / ссылок авторизации. Теперь в настройках LenAuth у каждого сервиса появилось поле «Порядок», который позволяет выстроить Ваш порядок вывода кнопок, Вам необходимо просто поставить нужный порядковый номер вывода кнопки. Обращаем Ваше внимание что все цифры у каждого сервиса должны быть уникальными, и их значение должны быть в пределах от 1 до 7. Порядок по-умолчанию строится так: Facebook, Google, Yahoo, Twitter, Вконтакте, Яндекс, Mail.ru.

 

Авторизация гостевых пользователей

Так как гостевые пользователи считаются залогиненными, то им кнопки авторизации не показывались, это заметил Mark Samberg и в репозитории плагина на GitHub кинул Pull Request. Мы внесли его правку в плагин, спасибо, Марк!

Обновление версии API ВКонтакте

Мы обновили версию API ВКонтакте с 5.27 до 5.33.

Что дальше будет с плагином

На наш взгляд, в плагине сделано абсолютно все что можно было бы сделать, новых идей нет, все реализованы. Поэтому мы переключимся на написание документации и отладке других плагинов для Moodle, по которым у нас есть наработки, ведь мы создаем / программируем / разрабатываем плагины для Moodle (блоки или модули). Но если у Вас есть идеи по дополнительным улучшениям для плагина, вы можете оставить свою идею в разделе «Issues» нашего репозитория на GitHub, а если Вы разработчик и уже знаете как реализовать Вашу идею, то кидайте Pull Request.

664025, РФ, Иркутск, Чудотворская, 4

  • Email: info@moo-dle.ru
  • Phone: +8 (800) 505 20 31
  • Fax: +8 (800) 505 20 31

ПОРТФОЛИО

© Copyright 2015-2021. Все права защищены. Создание сайтов под ключ Moodle

Шаблон скачали с сайта https://joomix.org