webcamp 2016: php. Александр Шкарбалюк: sso: Кому оно нужно и как...

Post on 16-Apr-2017

123 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Company NameYour company tagline

SSO (Single Sign On)

SSO (Single Sign-On) — технология, при использовании которой пользователь переходит из одного раздела портала в другой без повторной аутентификации.

©Wikipedia

Нужна авторизация!

Нужна авторизация!

Нужно больше сайтов!!!

Нужно еще больше сайтов!!!

Проблемы

1. Каждый раз заполнять профиль

2. При изменении данных менять везде.

3. Отдельный логин на разных сайтах

(напрягает)

4. Отдельный логаут на разных сайтах

(безопасность)

Аналитика

1. Показывать активность пользователей

2. Кросс-сейл

3. И чтобы всё красиво и в админке :)

Синхронизация данных

1. Логин?

2. Email?

3. Логин через различные соцсети.

4. GAUID - ID пользователя в базе.

Что делать?

Один сайт? Нет, серьезно!

SSO спешит на помошь!

Почти как микросервисы

OAuth

OAuth — открытый протокол авторизации, который позволяет предоставить третьей стороне ограниченный доступ к защищённым ресурсам пользователя без необходимости передавать ей (третьей стороне) логин и пароль.

©Wikipedia

Authentication

Authorization

SSO vs OAuth

SSO:● Передает профиль (custom)● Фоновый вход ● Единый вход/выход● Единый ИД пользователя

OAuth: (authentication)● Передает профиль.● Вход в 1 клик

Google Services

Wikipedia

Habrahabr & Co

Нужно ли вам 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 на конечных сервисах.

Основной функционал

1. Log-in/Sing-up

2. Log-out

3. Проверка состояния (залогинился ли в других местах).

4. Удаленное создание сессии.

5. Удаленный дроп сессии.

Log-in/Sign-up

Log-out

Autolog-in

API Bridge

Редиректы

SPA

Ajax crossdomainLog-in?

Iframes!

PostMessage

Еще немного Security

1. HTTPS (+Preloaded HSTS)

2. CSP

3. Session Fixation

4. Подключение других соцсетей. (FB)

СпасибоШкарбалюк Александр, Мой Город.

Site: https://moy-gorod.od.uaFB: https://www.facebook.com/alexxvotE-mail: gambit@moy-gorod.od.ua

top related