SlideShare a Scribd company logo
Единая система интеграции  с внешними провайдерами аутентификации Клера Виленская
Генеральный спонсор и организатор  конференции  DrupalConf 2011 При поддержке:
Спонсоры Информационные спонсоры Сайт конференции
OpenID Simple Registration Extension   недостаточно информации регистрация
 
Multilogin режим по умолчанию регистрация
Multilogin режим быстрой регистрации  
Возможности кастомизации и расширения список полей $user и принцип их заполнения  набор хранимых полей для каждой из внешних систем способ конструирования логина пользователя информация для авторизации публикациях в соцсетях и сервисах
Планы развития объединение аккаунтов поддержка аватаров плагины для других сервисов модули для публикации в социальные сети плагин вконтакте c использрванием oAuth скрипт для миграции с FB connect расширенная поддержка  OpenID  версия для 7.x
https://github.com/klera/multilogin
Генеральный спонсор и организатор  конференции  DrupalConf 2011 При поддержке:
Спонсоры Информационные спонсоры Сайт конференции

More Related Content

PDF
Android - 15 - Social
PPTX
Single sign-on Across Mobile Applications from RSAConference
PPS
Scratch hardness-tester
PPS
Raj scientific co
PPT
Task1 nme analysis
PDF
A.Studio
PPT
построение внутренней ссылочной структуры сайта на Drupal 7 (seo) костин алексей
Android - 15 - Social
Single sign-on Across Mobile Applications from RSAConference
Scratch hardness-tester
Raj scientific co
Task1 nme analysis
A.Studio
построение внутренней ссылочной структуры сайта на Drupal 7 (seo) костин алексей

Viewers also liked (20)

PPT
Easy authcache 2 кеширование для pro родионов игорь
PPT
Drupal dlya lenivyh-1
PPT
Drupal и мобильные устройства комелин константин
PPT
Business friendly drupal павел прищепа
DOCX
Henrys story 6th feb 2012 finished
PPTX
Prez drupal
PPT
Ubercart -nemnogo_primerov_iz_zhizni
PDF
SMS Aero
PPTX
интеграция 1с и drupal
PPT
Caching on highload drupal site roman arkharov (eng)
PPT
Crm core
PPT
Fotostock on drupal zhitarev anton (eng)
PPTX
Marshalkina drupalconf multilingual
PPT
Drupal -organizaciya_razrabotki
PPTX
опыт использования схемы Drupal+varnish+nginx руслан исай
PPT
идеология Drupal 8 уже в drupal 7 вячеслав касихин
PPT
Yserver
PDF
Chapter 1 colliding world views
PPT
Zhitarev vsyo chto_vy_hoteli_znat_o_maestro
PPT
Kolosov drupalconf2011 2_kolosov
Easy authcache 2 кеширование для pro родионов игорь
Drupal dlya lenivyh-1
Drupal и мобильные устройства комелин константин
Business friendly drupal павел прищепа
Henrys story 6th feb 2012 finished
Prez drupal
Ubercart -nemnogo_primerov_iz_zhizni
SMS Aero
интеграция 1с и drupal
Caching on highload drupal site roman arkharov (eng)
Crm core
Fotostock on drupal zhitarev anton (eng)
Marshalkina drupalconf multilingual
Drupal -organizaciya_razrabotki
опыт использования схемы Drupal+varnish+nginx руслан исай
идеология Drupal 8 уже в drupal 7 вячеслав касихин
Yserver
Chapter 1 colliding world views
Zhitarev vsyo chto_vy_hoteli_znat_o_maestro
Kolosov drupalconf2011 2_kolosov
Ad

More from drupalconf (19)

PPT
инструкция по оптимизации сайтов на Drupal херени даниэл
PPT
3 reasons to contribute to drupal florian loretan (eng)
PPT
Drupal and mobile devices komelin konstanin (eng)
PPT
опыт Clickberry.com стартап на drupal в облаке павел загор
PPT
Multilingual solutions florian loretan
PPT
кеширование на высоконагруженном Drupal сайте архаров роман (rus)
PPTX
опыт использования схемы Drupal+varnish+nginx руслан исай
PPT
инструкция по оптимизации сайтов на Drupal херени даниэл
PPT
Drush and drupal. администрирование волчек михаил
PPT
непрерывная интеграция шаг к непрерывному деплою родионов игорь
PPT
Object oriented css graeme blackwood
PPT
Drupal and the keys to successful communities martin mayer
PPT
фотосток на Drupal+maestro житарёв антон
PPT
практическое использование модуля Panels богуцкий виктор
PDF
как зарабатывать друпал разработчику клют иван
PPTX
Azure
PPT
Kozhemyakin dcm2011 1
PPTX
Kostin drupal conf-2011-winter
PPT
Lozovickiy uvelichenie kachestva_dlya_razrabotchika
инструкция по оптимизации сайтов на Drupal херени даниэл
3 reasons to contribute to drupal florian loretan (eng)
Drupal and mobile devices komelin konstanin (eng)
опыт Clickberry.com стартап на drupal в облаке павел загор
Multilingual solutions florian loretan
кеширование на высоконагруженном Drupal сайте архаров роман (rus)
опыт использования схемы Drupal+varnish+nginx руслан исай
инструкция по оптимизации сайтов на Drupal херени даниэл
Drush and drupal. администрирование волчек михаил
непрерывная интеграция шаг к непрерывному деплою родионов игорь
Object oriented css graeme blackwood
Drupal and the keys to successful communities martin mayer
фотосток на Drupal+maestro житарёв антон
практическое использование модуля Panels богуцкий виктор
как зарабатывать друпал разработчику клют иван
Azure
Kozhemyakin dcm2011 1
Kostin drupal conf-2011-winter
Lozovickiy uvelichenie kachestva_dlya_razrabotchika
Ad

Klera vilenskaya drupalconf_2011____

Editor's Notes

  • #2: Всем конечно приходилось сталкиваться с необходимостью делать на сайте аутентификацию через социальные сети, твиттер и другие сервисы. Для этой задачи есть готовые модули, которые по-отдельности отлично работают. Но как только требуется поддержка нескольких систем, начинаются проблемы, так как эти модули работают немного по-разному и иногда вообще друг другу мешают. Для решения этой проблемы Drupal -сообщество давно обсуждало идею единого модуля аутентификации. Теперь такой модуль есть. Он называется Multilogin.
  • #5: Drupal изначально поддерживает аутентификацию через внешние системы, в поставку входит модуль OpenID . Чтобы работать с пользователем вне зависимости от того каким способом он аутентифицирован, Drupalсоздает для каждого локальный аккаунт, с которым работает непосредственно. В случае OpenID - если провайдер отдает достаточно информации для регистрации  пользователя,  то Drupal аккаунт для него создается автоматически.  Иначе пользователю которого уже аутентифицировали  все равно приходится заполнять регистрационную форму. Эта неудобно для пользователей, но иногда необходимо для сайта. Так или иначе, пользователь оказывается зарегистрирован. Инфо рмация о связи его внешней айдентити и Drupal аккаунта хранится в таблице authmap. Далее, если пользователь приходит с уже известным нам айдентити, по этой записи мы его аутентифицируем и пускаем без лишних вопросов . В профиле пользователь может добавить любое количество OpenID-аккаунтов, которые будут ассоциированы с его аккаунтом Drupal.  Логично что модуль единой аутентификации через соцсети должен работать примерно по тому же принципу, с оглядкой на то что для каждого провайдерами аутентификации может быть собственная имплементация той части, где происходит непосредственно взаимодействие.
  • #6: Архитектурно multilogin это один модуль с набором плагинов ― модуль отвечает за общий принцип работы, управление списком связанных внешних аккаунтов пользователя. работа с плагинами как с инклудами, а не как с самостоятельными модулями позволяет загружать их только в тот момент, когда они действительно нужны ― то есть непосредственно в момент взаимодействия с внешней системой. Информацию о соотвествии внешних профилей аккаунтам Drupal Multilogin хранит в таблице authmap. Информация о профилях во внешних системах хранится просто в сериализованом виде ― потому что структуры данных у всех соцсетей различаются, 
  • #7: Вопрос с регистрацией в один клик и необходимостью получения полной информации от пользователей оставлен на усмотрение администратора и регулируется настройками. Не секрет, что не все системы отдают мейл пользователя ― в режиме быстрой регистрации это можно игнорировать. При этом возможно назначение дополнительной роли тем пользователям, у которых мейл не указан. Общий принцип работы плагинов провайдеров аутентификации Так, при попытке аутентификации через любую из внешних систем если она предоставляет email пользователя, и на сайте есть аккаунт с этим мейлом ― пользователь аутентифицируется как обладатель этого аккаунта. Если такого мейла на сайте еще нет, делается попытка создать нового пользователя. Далее в обычном режиме модуль работает по тому же принципу что и OpenID ― если информации недостаточно - пользователь отправляется заполнять регистрационную форму.    
  • #8: В режиме быстрой регистрации создание нового аккаунта происходит сразу, а недостающие поля просто оставляются пустыми.
  • #9: С писок полей и принцип их заполнения можно изменить через hook_multilogin_create_user ―  например сразу заполнить в пофиле дату рождения и ФИО данными из соцсети. Можно менять набор хранимых полей для каждой из систем или способ конструирования уникального логина пользователя.  (Пример есть в документации) Multilogin также может хранить информацию для авторизации во внешних системах, само взаимодействие будет реализовано через отдельные модули. Пока есть только модуль, который публикует анонс создаваемой ноды в twitter.
  • #10: Что сейчас есть: - сам multiogin - плагины для: vkontakte (для старой системы авторизации Open API, будет переписан soon) facebook twitter -  модуль для постинга в twitter
  • #11: Сейчас модуль доступен на github, Планируется выложить на drupal.org после того как будут функции, которых в других модулях нет - так как сейчас он по сути дублирует функциональность уже существующих модулей, его не зааппрувят.