SSO (Пользовательская версия)
Общая информация
Большинство компаний стремится к усовершенствованию и упрощению при взаимодействии со своим продуктом. А любому пользователю хочется чтобы ПО, которое он использует предоставляло большой спектр возможностей, закрывала все его потребности и было понятно даже без специальных знаний.
Для облегчения взаимодействия с функционалом у пользователя, команда SmartPlayer добавила функционал под название "SSO" или же Single Sign-On.
Этот функционал дает возможность пользователю оперировать своей электронной почтой (корпоративной или личной) для работы внутри нашей системы SmartPlayer. То есть ему не придется заводить отдельную почту для работы в нашей системе.
Что даёт интеграция по SSO
- Уменьшение временных затрат
Люди часто используют более одного корпоративного приложения. И на каждом сервисе им необходимо пройти аутентификацию. Или проще говоря ввести логин и пароль чтобы зайти в аккаунт. Этот процесс отнимает много времени. SSO призвано помочь упростить процесс проверки пользователей корпоративных приложений и упрощает получения доступа к защищенным ресурсам.
- Оптимизация ресурсов
Люди пытаются запомнить многочисленные пароли от различных сервисов. Корпоративные пользователи могут легко забыть свои учетные данные, из-за их большого объёма. Следствием этой ситуации являются частые запросы на восстановление или сброс паролей, которые увеличивает нагрузку на штатные ИТ-отделы. Внедрение SSO действительно снижает количество случаев забытых паролей. Таким образом, позволяет оптимизировать позволяет не использовать ресурсы службы поддержки и выделять их под другие задачи.
- Укрепление возможностей безопасности
Уменьшая количество паролей у каждого пользователя, SSO облегчает аудит доступа пользователей и сможет обеспечить надежный контроль доступа ко всем типам данных. В свою очередь это снижает риск возникновения проблемных событий в вопросах безопасности, ради избегания которых и созданы пароли. В итоге - это поможет организациям лучше соблюдать правила безопасности данных.
- Приятный опыт взаимодействия для клиента
SSO используют для обеспечения конечным пользователям простого и беспроблемного входа в систему. А также дает возможность управления учётной записью пользователя и её параметрами. Тако подход упрощает жизнь пользователя, в связи с использованием меньшего количества паролей. При этом пользователи продолжают иметь безопасный доступ к приложению и ее функционалу.
Терминология
Это базовые термины которые необходимо понимать, чтобы разобраться в принципах работы SSO. Они будут описаны просто, понятно и с примерами:
SSO (Same sign-on) - это функция, благодаря которой пользователь может войти в одно приложение или веб-сайт и автоматически получить доступ к другим приложениям или сайтам без необходимости повторно вводить свои учетные данные.
SAML (Security Assertion Markup Language) — это стандартный язык для обмена данными аутентификации и авторизации между разными системами. Он позволяет одной системе подтвердить вашу личность другой системе без необходимости вводить логин и пароль заново.
ADFS - это служба, которая позволяет компаниям и организациям давать своим сотрудникам доступ к различным онлайн-ресурсам (например, веб-сайтам или приложениям), используя одни и те же учетные данные, которые они используют для входа в свой рабочий компьютер.
А теперь представим их в виде более простых примеров:
SSO - Представьте, что у вас есть ключ, который открывает дверь в ваш дом, гараж, офис и почтовый ящик. Вместо того чтобы носить с собой кучу ключей для каждой двери, у вас есть только один ключ, который работает со всеми замками.
SAML - Представьте, что вы хотите попасть в эксклюзивный клуб. У вас нет личного пропуска, но вы являетесь членом другого клуба, который имеет договор с этим эксклюзивным клубом. Когда вы приходите, вы показываете свой бейджик из первого клуба, и охранник эксклюзивного клуба звонит в ваш первоначальный клуб, чтобы подтвердить вашу личность. После подтверждения охранник пускает вас внутрь. Здесь ваш бейджик — это что-то вроде SAML-утверждения, а оба клуба — это разные системы или приложения.
ADFS-Представьте, что каждый раз, когда вы приходите на работу, вы должны показать охраннику свой пропуск, чтобы попасть внутрь. Ваш пропуск — это доказательство того, что вы работаете в компании. Теперь представьте, что ваша компания имеет специальное соглашение с несколькими другими зданиями или офисами, и вы можете показать свой пропуск на входе в любое из них, и вас пустят внутрь.
Ещё стоит напомнить про термин "Аутентификация"- это процедура подтверждения идентичности пользователя посредством проверки предоставленных им данных, таких как логин и пароль. Этот процесс гарантирует, что пользователь действительно является тем, за кого он себя выдает.
Принцип действия
Если выражаться простыми словами SSO - это система единого входа с использованием одних и тех же данных в виде логина и пароля.
Единый вход происходит по принципу:
- Наш сервер создает запрос на аутентификацию
- Этот запрос отправляется по маршруту/пути, которым является протокол SAML
- Достигнув конечной точки запрос попадает в ADFS сервер пользователя, где на него формируется ответ
- Ответ отправляется, также с помощью протокола SAML обратно к на на сервер. Внутри "ответа" данные о пользователе
- Наш сервер используя эти данные переводит пользователя в личный кабинет SmartPlayer
- И в тот же момент он заносит этого пользователя в базу данных SmartPlayer
Порядок действий
Ниже будет описаны пошаговые действия для использования SSO. Эта инструкция будет выполнима, только при условии что системный администратор со стороны клиента настроил интеграцию по SSO:
- Первоначально пользователю необходимо попасть на страницу аутентификации нашего сайта SmartPlayer
- Далее необходимо кликнуть по кнопке "Войти по SSO"
- Следующее что увидит пользователь - зависит от настроек функционала SSO.
- либо форма с заполнением персональных - логина и пароля
- либо вас сразу отправит на главную страницу сайта из-за системы сохранения и автозаполнения данных (логина и пароля).
- После заполнения персональных данных и нажатия кнопки "Вход" вас перенаправит в личный кабинет аккаунта.
- Вы можете пользоваться функционалом личного кабинета SmartPlayer
Итоговый результат
Пользователь может работать с нашим функционалом не создавая отдельную учетную запись, а использую уже созданный аккаунт. Таким образом он избежит траты лишнего времени, создания "бесполезных дублей" своего e-mail и усилит безопасность персональных данных.
Доработка авторизации через SSO
Доработка SSO позволяет пользователю избежать повторной авторизации на SSO - серверах Lamoda. То есть SSO сервис теперь проверяет что сессия с данным пользователем уже есть, и его повторная авторизация не требуется.
Для реализация данного решения на серверной части был добавлен параметр «SSO_FORCE_AUTHN». Данный параметр по умолчанию имеет значение «0», то есть включена прозрачная авторизация.