Почему не стоит бездумно использовать SSO

f27217d67042ceaa3bf5d99b9a2cf878.png

Привет, меня зовут Артём. Я без малого четверть века работаю в IT. За это время у меня как-то сама собой сформировалась так называемая «аура тестировщика». Зачастую мне не приходится прилагать каких бы то ни было усилий, чтобы натыкаться на недоработки, ошибки проектирования и вполне себе конкретные баги в различных продуктах. Это касается не только IT, но и повседневных вещей.

Сегодня я хочу рассказать о своём видении причин недопустимости повсеместного SSO с завязкой на номер телефона. Рассказать я хочу не с точки зрения безопасности (атаки с угоном номера и т. д.), а на пример банальной ситуации с которой я столкнулся лично и которую из-за ошибки проектирования невозможно решить никаким приемлемым способом.

Много лет пользовался услугами известной сети аптек Еаптека. Все было хорошо и удобно. Удобный профиль история заказов и рекомендации. Но тут случилось страшное… Их купил Sber и стал бездумно тащить к ним свою экосистему. В том числе и пресловутый SberID.

Одним прекрасным днём я как обычно захожу в свой профиль на Еаптеке по номеру телефона, но вместо привычного окошка авторизации выскакивает авторизация в SberID. Окей… думаю я и авторизуюсь. Но дальше испытываю некоторый диссонанс. В моей учётной записи не мои персональные данные. Не мои, но понятные мне. При этом история заказов и адреса доставки мои. Начинаю изучать вопрос и пытать техподдержку Еаптеки. Выясняю, что теперь персональные данные в профиле берутся исключительно из SberID. Потому что они теперь Sberapteka. Но это пол беды. Чтобы отредактировать данные в профиле теперь надо идти в отделение Sber«а. Дескать «где открывали карточку туда и идите (тм)». Потому что функционал редактирования данных профиля эффективные менеджеры благополучно решили выпилить. Но вот заковыка в том, что у меня нет карточки Sber«а и лично я не являюсь клиентом Sber«a. Но при этом клиентом Sber«а является мой близкий родственник не имеющий телефона. И персональные данные в профиле Еаптеки теперь именно этого родственника, просто потому, что у него указан мой номер в качестве контактного.

Ни одного приемлемого варианта решения этой проблемы мне предложить так и не смогли. Либо «покупайте другой номер» (я пользуюсь этим номером больше 20 лет и менять его естественно не намерен), либо меняйте данные в базе Sber«а, что по понятным причинам дичь несусветная. Казалось бы ситуация не стоит выеденного яйца, но из-за применения SSO она по сути не разрешима ни одним адекватным образом.

А всего-то стоило оставить возможность авторизации старым способом помимо SberID. Или дать возможность привязать / авторизовываться по SberID, не затирая молча уже имеющиеся в профиле персональные данные.

Даже безотносительно моего, не самого очевидного с точки зрения проектирования, пользовательского сценария есть ведь ещё банальная история с перепродажей номеров операторами…

© Habrahabr.ru