SSO: Кому оно нужно и как его готовить?
-
Upload
aleksandr-shkarbaliuk -
Category
Software
-
view
115 -
download
1
Transcript of SSO: Кому оно нужно и как его готовить?
SSO (Single Sign On)
SSO (Single Sign-On) — технология, при использовании которой пользователь переходит из одного раздела портала в другой без повторной аутентификации.
©Wikipedia
Проблемы
1. Каждый раз заполнять профиль
2. При изменении данных - нужно менять везде.
3. Отдельный логин на разных сайтах
(напрягает)
4. Отдельный логаут на разных сайтах
(безопасность)
Аналитика
1. Показывать активность пользователей
2. Кросс-сейл
3. И чтобы всё красиво и в админке :)
Синхронизация данных
1. Логин?
2. Email?
3. Логин через различные соцсети.
4. GAUID - ID пользователя в базе.
OAuth
OAuth — открытый протокол авторизации, который позволяет предоставить третьей стороне ограниченный доступ к защищённым ресурсам пользователя без необходимости передавать ей (третьей стороне) логин и пароль.
©Wikipedia
SSO vs OAuth
SSO:● Передает профиль (custom)● Фоновый вход ● Единый вход/выход● Единый ИД пользователя
OAuth: (authentication)● Передает профиль.● Вход в 1 клик
Нужно ли вам SSO?
Да, если:● Сайты с общей тематикой.● Есть общий функционал.● Планируется создание эко-системы.
Нет, если:● Набор отдельных сайтов
Достоинства SSO
1. Единый список пользователей. (общий ID)2. Удобный трекинг активности.3. Права могу настраиваться в одном месте. (optional)4. Единый кабинет пользователя.5. Единоразовый вход/выход для работы со всеми сайтами
системы.6. Нужно запомнить всего одну пару логин/пароль (optional)7. Отдельный Auth сервис. Меньше кода - меньше багов.)8. Отдельный домен для авторизационных cookies.
Простой пароль
1. Запрещаем создание простых паролей.
2. Двухфакторная авторизация.
3. Правильная защита от брутфорса и подобных атак.
Отказ системы
1. Причины отказов. (60% - косяки сотрудников)
2. Падение OAuth провайдеров.
3. Дублирование серверов.
4. Long-term cookies на конечных сервисах.
Основной функционал
1. Log-in/Sing-up
2. Log-out
3. Проверка состояния (залогинился ли в других местах).
4. Удаленное создание сессии.
5. Удаленный дроп сессии.
Еще немного Security
1. HTTPS (+Preloaded HSTS)
2. CSP
3. Session Fixation
4. Подключение других соцсетей. (FB)
СпасибоШкарбалюк Александр, Мой Город.
Site: https://moy-gorod.od.uaFB: https://www.facebook.com/alexxvotE-mail: [email protected]