SlideShare a Scribd company logo
Company Name
Your company tagline
SSO (Single Sign On)
SSO (Single Sign-On) — технология, при использовании
которой пользователь переходит из одного раздела
портала в другой без повторной аутентификации.
©Wikipedia
WebCamp 2016: PHP. Александр Шкарбалюк: SSO: Кому оно нужно и как его готовить?
Нужна авторизация!
Нужна авторизация!
WebCamp 2016: PHP. Александр Шкарбалюк: SSO: Кому оно нужно и как его готовить?
WebCamp 2016: PHP. Александр Шкарбалюк: SSO: Кому оно нужно и как его готовить?
Нужно больше сайтов!!!
Нужно еще больше сайтов!!!
WebCamp 2016: PHP. Александр Шкарбалюк: SSO: Кому оно нужно и как его готовить?
WebCamp 2016: PHP. Александр Шкарбалюк: SSO: Кому оно нужно и как его готовить?
Проблемы
1. Каждый раз заполнять профиль
2. При изменении данных менять везде.
3. Отдельный логин на разных сайтах
(напрягает)
4. Отдельный логаут на разных сайтах
(безопасность)
Аналитика
1. Показывать активность пользователей
2. Кросс-сейл
3. И чтобы всё красиво и в админке :)
Синхронизация данных
1. Логин?
2. Email?
3. Логин через различные соцсети.
4. GAUID - ID пользователя в базе.
Что делать?
Один сайт? Нет, серьезно!
WebCamp 2016: PHP. Александр Шкарбалюк: SSO: Кому оно нужно и как его готовить?
SSO спешит на помошь!
Почти как
микросервисы
WebCamp 2016: PHP. Александр Шкарбалюк: SSO: Кому оно нужно и как его готовить?
WebCamp 2016: PHP. Александр Шкарбалюк: SSO: Кому оно нужно и как его готовить?
OAuth
OAuth — открытый протокол авторизации, который
позволяет предоставить третьей стороне ограниченный
доступ к защищённым ресурсам пользователя без
необходимости передавать ей (третьей стороне) логин и
пароль.
©Wikipedia
Authentication
Authorization
SSO vs OAuth
SSO:
● Передает профиль (custom)
● Фоновый вход
● Единый вход/выход
● Единый ИД пользователя
OAuth: (authentication)
● Передает профиль.
● Вход в 1 клик
Google Services
Wikipedia
Habrahabr & Co
WebCamp 2016: PHP. Александр Шкарбалюк: SSO: Кому оно нужно и как его готовить?
Нужно ли вам SSO?
Да, если:
● Сайты с общей тематикой.
● Есть общий функционал.
● Планируется создание эко-системы.
Нет, если:
● Набор отдельных сайтов
Достоинства SSO
1. Единый список пользователей. (общий ID)
2. Удобный трекинг активности.
3. Права могу настраиваться в одном месте. (optional)
4. Единый кабинет пользователя.
5. Единоразовый вход/выход для работы со всеми сайтами
системы.
6. Нужно запомнить всего одну пару логин/пароль (optional)
7. Отдельный Auth сервис. Меньше кода - меньше багов.)
8. Отдельный домен для авторизационных cookies.
Недостатки SSO
1. Один логин/пароль на всё.
2. Одна точка входа. (отказ системы).
Лечим Недостатки SSO
Простой пароль
1. Запрещаем создание простых паролей.
2. Двухфакторная авторизация.
3. Правильная защита от брутфорса и подобных атак.
Отказ системы
1. Причины отказов. (60% - косяки сотрудников)
2. Падение OAuth провайдеров.
3. Дублирование серверов.
4. Long-term cookies на конечных сервисах.
WebCamp 2016: PHP. Александр Шкарбалюк: SSO: Кому оно нужно и как его готовить?
Основной функционал
1. Log-in/Sing-up
2. Log-out
3. Проверка состояния (залогинился ли в других местах).
4. Удаленное создание сессии.
5. Удаленный дроп сессии.
Log-in/Sign-up
Log-out
Autolog-in
WebCamp 2016: PHP. Александр Шкарбалюк: SSO: Кому оно нужно и как его готовить?
API Bridge
Редиректы
SPA
Ajax crossdomain
Log-in?
Iframes!
PostMessage
Еще немного Security
1. HTTPS (+Preloaded HSTS)
2. CSP
3. Session Fixation
4. Подключение других соцсетей. (FB)
WebCamp 2016: PHP. Александр Шкарбалюк: SSO: Кому оно нужно и как его готовить?
Спасибо
Шкарбалюк Александр, Мой Город.
Site: https://moy-gorod.od.ua
FB: https://www.facebook.com/alexxvot
E-mail: gambit@moy-gorod.od.ua

More Related Content

PPTX
SSO: Кому оно нужно и как его готовить?
PDF
ЧатБанк – chatbank.ru от ПАО «Совкомбанк». Андрей Бухтияров, Совкомбанк
PPTX
А не поговорить ли нам о XSS!
PPTX
Як залучати відвідувачів та піднімати доходи з Internet Explorer 8: технологі...
PPTX
Информационная безопасность в аспекте веб-разработки
PPTX
Windows 7 UAC
PPTX
тестирование защищенности веб приложений
PDF
Максим Кочкин (Wamba)
SSO: Кому оно нужно и как его готовить?
ЧатБанк – chatbank.ru от ПАО «Совкомбанк». Андрей Бухтияров, Совкомбанк
А не поговорить ли нам о XSS!
Як залучати відвідувачів та піднімати доходи з Internet Explorer 8: технологі...
Информационная безопасность в аспекте веб-разработки
Windows 7 UAC
тестирование защищенности веб приложений
Максим Кочкин (Wamba)

Viewers also liked (20)

PDF
Deploying PHP Applications with Ansible
PDF
WebCamp 2016: PM. Роман Кравченко: Разработка требований и управление рисками...
PDF
WebCamp 2016: DevOps. Николай Дойков: Опыт создания клауда для потокового вид...
PDF
WebCamp 2016: BizDev. Андрей Моспан: Правда ли, что продукт стоит ровно столь...
PDF
WebCamp 2016: DevOps. Ярослав Погребняк: Gobetween - новый лоад балансер для ...
PDF
WebCamp 2016: PHP.Алексей Петров.PHP at Scale: System Architect Toolbox
PDF
WebCamp 2016: BizDev. Кейт Голдберг: Agile business development: как применят...
PDF
WebCamp 2016: PM. Дмитрий Пискарев: Способы мотивации и продления LTV сотрудн...
PDF
WebCamp2016:Front-End_Юрий Артюх_Современные подходы в верстке
PDF
WebCamp2016:Front-End_Роман Якобчук_Relay, GraphQL и остальные радости соврем...
PDF
WebCamp 2016: PHP.Денис Потапов.Рефакторим код не задумываясь
PDF
WebCamp 2016: PM. Яна Пролис: "Вредные" советы по конфликтам в команде и комп...
PDF
WebCamp 2016: Front-end. Виталий Бобров: JavaScript для мобильной разработки.
ODP
WebCamp2016:Front-End_Андрей Копёнкин_Оптимизируем мобильный веб полностью
PDF
WebCamp 2016: DevOps. Егор Лопатин и Юрий Железко: How we build and deploy ou...
PDF
WebCamp2016:Front-End.Максим Климишин.Теоретические и практические концепции ...
PDF
WebCamp 2016: Python_Кирилл Перевозчиков _Рецепты приготовления uWSGI
PDF
WebCamp2016:Front-End.Катерина Поршнева.Эволюция CSS: от темных времен до CSS...
PDF
WebCamp 2016: PHP.Сергей Яковлев.Phalcon 3
PDF
WebCamp 2016: PHP. Дмитрий Науменко: Рецепты для Yii2.
Deploying PHP Applications with Ansible
WebCamp 2016: PM. Роман Кравченко: Разработка требований и управление рисками...
WebCamp 2016: DevOps. Николай Дойков: Опыт создания клауда для потокового вид...
WebCamp 2016: BizDev. Андрей Моспан: Правда ли, что продукт стоит ровно столь...
WebCamp 2016: DevOps. Ярослав Погребняк: Gobetween - новый лоад балансер для ...
WebCamp 2016: PHP.Алексей Петров.PHP at Scale: System Architect Toolbox
WebCamp 2016: BizDev. Кейт Голдберг: Agile business development: как применят...
WebCamp 2016: PM. Дмитрий Пискарев: Способы мотивации и продления LTV сотрудн...
WebCamp2016:Front-End_Юрий Артюх_Современные подходы в верстке
WebCamp2016:Front-End_Роман Якобчук_Relay, GraphQL и остальные радости соврем...
WebCamp 2016: PHP.Денис Потапов.Рефакторим код не задумываясь
WebCamp 2016: PM. Яна Пролис: "Вредные" советы по конфликтам в команде и комп...
WebCamp 2016: Front-end. Виталий Бобров: JavaScript для мобильной разработки.
WebCamp2016:Front-End_Андрей Копёнкин_Оптимизируем мобильный веб полностью
WebCamp 2016: DevOps. Егор Лопатин и Юрий Железко: How we build and deploy ou...
WebCamp2016:Front-End.Максим Климишин.Теоретические и практические концепции ...
WebCamp 2016: Python_Кирилл Перевозчиков _Рецепты приготовления uWSGI
WebCamp2016:Front-End.Катерина Поршнева.Эволюция CSS: от темных времен до CSS...
WebCamp 2016: PHP.Сергей Яковлев.Phalcon 3
WebCamp 2016: PHP. Дмитрий Науменко: Рецепты для Yii2.
Ad

Similar to WebCamp 2016: PHP. Александр Шкарбалюк: SSO: Кому оно нужно и как его готовить? (20)

PPTX
Тестирование на проникновение в сетях Microsoft (v.2)
PPT
Безопасность CMS
PDF
Как мануальный тестировщик может базово протестировать безопасность, Евгений ...
PPT
Безопасность
PPTX
Тестирование на проникновение в сетях Microsoft
PPT
Web осень 2012 лекция 11
PDF
«Идентификация, аутентификация, авторизация – встроенные функции приложений и...
PPTX
Идентификация и аутентификация - встроенные функции безопасности или задачи с...
PDF
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
PPTX
безопасность
PPTX
PDF
алексей диплом презентация
PPT
DUMP-2012 - Веб-разработка - "Что мы знаем о производительности и безопасност...
PPTX
Яндекс.АккаунтМенеджер - Mobius 2015
PPT
Web весна 2013 лекция 11
PDF
Avanpost idm пацифика 2016
PDF
ЄВГЕНІЙ ТОЛЧИНСКИЙ «Як manual QA може протестувати проект з боку security» QA...
PDF
Как мануальный тестировщик может базово протестировать безопасность, Евгений ...
PDF
Auth methods lomalkin
PPT
Web весна 2012 лекция 11
Тестирование на проникновение в сетях Microsoft (v.2)
Безопасность CMS
Как мануальный тестировщик может базово протестировать безопасность, Евгений ...
Безопасность
Тестирование на проникновение в сетях Microsoft
Web осень 2012 лекция 11
«Идентификация, аутентификация, авторизация – встроенные функции приложений и...
Идентификация и аутентификация - встроенные функции безопасности или задачи с...
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
безопасность
алексей диплом презентация
DUMP-2012 - Веб-разработка - "Что мы знаем о производительности и безопасност...
Яндекс.АккаунтМенеджер - Mobius 2015
Web весна 2013 лекция 11
Avanpost idm пацифика 2016
ЄВГЕНІЙ ТОЛЧИНСКИЙ «Як manual QA може протестувати проект з боку security» QA...
Как мануальный тестировщик может базово протестировать безопасность, Евгений ...
Auth methods lomalkin
Web весна 2012 лекция 11
Ad

More from WebCamp (11)

PDF
WebCamp 2016: Python.Максим Климишин.Типизированный Python
PDF
WebCamp 2016.PHP.Боднарчук Михаил.BDD на практике с Codeception
PDF
WebCamp 2016: Python.Павел Коломиец.Использование микросервисов при написании...
PDF
WebCamp2016:BizDev_Алексей Иваница_Как построить и монетизировать мобильный п...
PDF
WebCamp 2016: BizDev. Марина Никитчук : Искусство продажи мечты, а не сервиса.
PDF
WebCamp 2016: BizDev. Александр Борняков: Маркетинг в США: как привлечь к себ...
PDF
WebCamp 2016: Front-end. Андрей Ситник: Stylelint — как и зачем линтить CSS
PPTX
WebCamp 2016: PHP. Николай Паламарчук: PHP и микросервисы
PDF
WebCamp 2016: PM. Александр Демура: Откуда берутся тупые заказчики, и что с н...
PDF
WebCamp 2016: PM. Евгений Лабунский: Командная безответственность
PDF
WebCamp 2016: Python. Михаил Бегерский: Использование asyncio-стека для разра...
WebCamp 2016: Python.Максим Климишин.Типизированный Python
WebCamp 2016.PHP.Боднарчук Михаил.BDD на практике с Codeception
WebCamp 2016: Python.Павел Коломиец.Использование микросервисов при написании...
WebCamp2016:BizDev_Алексей Иваница_Как построить и монетизировать мобильный п...
WebCamp 2016: BizDev. Марина Никитчук : Искусство продажи мечты, а не сервиса.
WebCamp 2016: BizDev. Александр Борняков: Маркетинг в США: как привлечь к себ...
WebCamp 2016: Front-end. Андрей Ситник: Stylelint — как и зачем линтить CSS
WebCamp 2016: PHP. Николай Паламарчук: PHP и микросервисы
WebCamp 2016: PM. Александр Демура: Откуда берутся тупые заказчики, и что с н...
WebCamp 2016: PM. Евгений Лабунский: Командная безответственность
WebCamp 2016: Python. Михаил Бегерский: Использование asyncio-стека для разра...

WebCamp 2016: PHP. Александр Шкарбалюк: SSO: Кому оно нужно и как его готовить?