Привет, меня зовут Артём. Я без малого четверть века работаю в IT. За это время у меня как-то сама собой сформировалась так называемая «аура тестировщика». Зачастую мне не приходится прилагать каких бы то ни было усилий, чтобы натыкаться на недоработки, ошибки проектирования и вполне себе конкретные баги в различных продуктах. Это касается не только IT но и повседневных вещей.
Сегодня я хочу рассказать о своём видении причин недопустимости повсеместного SSO с завязкой на номер телефона. Рассказать я хочу не с точки зрения безопасности (атаки с угоном номера и т. д.), а на примере банальной ситуации с которой я столкнулся лично и которую из-за ошибки проектирования невозможно решить никаким приемлемым способом.
Много лет пользовался услугами известной сети аптек Еаптека. Все было хорошо и удобно. Удобный профиль история заказов и рекомендации. Но тут случилось страшное... Их купил Sber и стал бездумно тащить к ним свою экосистему. В том числе и пресловутый SberID.
Одним прекрасным днём я как обычно захожу в свой профиль на Еаптеке по номеру телефона, но вместо привычного окошка авторизации выскакивает авторизация в SberID. Окей... думаю я и авторизуюсь. Но дальше испытываю некоторый диссонанс. В моей учётной записи не мои персональные данные. Не мои, но понятные мне. При этом история заказов и адреса доставки мои. Начинаю изучать вопрос и пытать техподдержку Еаптеки. Выясняю, что теперь персональные данные в профиле берутся исключительно из SberID. Потому что они теперь Sberapteka. Но это пол беды. Чтобы отредактировать данные в профиле теперь надо идти в отделение Sber’а. Дескать «где открывали карточку туда и идите (тм)». Потому что функционал редактирования данных профиля эффективные менеджеры благополучно решили выпилить. Но вот заковыка в том, что у меня нет карточки Sber’а и лично я не являюсь клиентом Sber’a. Но при этом клиентом Sber’а является мой близкий родственник не имеющий телефона. И персональные данные в профиле Еаптеки теперь именно этого родственника, просто потому, что у него указан мой номер в качестве контактного.
Ни одного приемлемого варианта решения этой проблемы мне предложить так и не смогли. Либо «покупайте другой номер» (я пользуюсь этим номером больше 20 лет и менять его естественно не намерен), либо меняйте данные в базе Sber’а, что по понятным причинам дичь несусветная. Казалось бы ситуация не стоит выеденного яйца, но из-за применения SSO она по сути не разрешима ни одним адекватным образом.
А всего-то стоило оставить возможность авторизации старым способом помимо SberID. Или дать возможность привязать / авторизовываться по SberID, не затирая молча уже имеющиеся в профиле персональные данные.
Даже безотносительно моего, не самого очевидного с точки зрения проектирования, пользовательского сценария есть ведь ещё банальная история с перепродажей номеров операторами...
Комментарии (17)
Myz17
03.12.2024 15:32SSO совершенно непричём, вы сами дали свой номер "левому" человеку для привязки его аккаунта. Если при этом номер был подтверждён, например кодом из СМС, то виноваты вы. Если его просто привязали без всякого подтверждения (сомнительно), то просчёт Сбера.
linux_art Автор
03.12.2024 15:32Во-первых не левому. Во-вторых не давал, а регистрировал человека по генеральной доверенности.
MrAlone
03.12.2024 15:32Заголовок не соответствует статье. SSO вообще не об этом. Так и пишите - в Сбере проблемы с их авторизацией/профилями, не водите людей в заблуждение по поводу того, что их ждёт в статье.
linux_art Автор
03.12.2024 15:32SSO в данном случае при чём. Смысл в том, что если его тащить во все сервисы бездумно - могут быть неожиданные коллизии.
MrAlone
03.12.2024 15:32Не может быть коллизий, если всё правильно сделано. Номера телефонов/мэйлы должны быть авторизованы. Указал номер телефона? Будь добр код из смс. Нет? И опять же, это вообще не про SSO!
linux_art Автор
03.12.2024 15:32Есть две системы. Есть два различных пользователя. В рамках каждой системы данные пользователь + номер валидны. Но при введении SSO в двух системах получаем коллизию. Почему в данной схеме SSO не при чём?
MrAlone
03.12.2024 15:32Это прикол такой? В двух разных системах при использовании SSO должны быть одни и те же данные, так как используется один источник данных. Это аксиома! Если у Сбер во время объединения двух разных баз случилось, что:
а) они в одной базе не проверяли валидность телефонов/мэйлов/ещё чего-то
б) после объединения случились коллизии
то это полностью косяк Сбера, но никак не принципов SSO.inkelyad
03.12.2024 15:32В двух разных системах при использовании SSO должны быть одни и те же данные, так как используется один источник данных.
Статья как бы про то, что не надо было вводить SSO. Ничего бы страшного не случилось, если бы это и дальше были две разные учетки.
А проблема возникла от того, что его ввели.
linux_art Автор
03.12.2024 15:32Так речь именно об этом. Не о том что SSO плохо само по себе. А о том, что его внедряют бездумно :)
outlingo
03.12.2024 15:32Почему в данной схеме SSO не при чём?
Потому, что объединение учетных записей было сделано по неправильному ключу. Это проблема не SSO, а исключительно в квалификации и добросовестности того, того проектировал и внедрял SSO в соединяемых сервисах. "Убивает не оружие, убивают придурки с автоматами - как вон те двое" (c)
linux_art Автор
03.12.2024 15:32Так об этом и речь. Именно по этому заголовок содержит слова "бездумно использовать SSO" :)
inkelyad
03.12.2024 15:32SSO вообще не об этом.
Об этом. Они слили два разных профиля, в разных сервисах с разными данными в один исключительно по совпадению одного признака. Привычка при покупке сервиса так делать, страшно раздражает - этим вообще все подряд занимаются, не только Сбербанк.
scome
В эту же копилку. Для ипотеки мне нужно было открыть эскроу счет в Сбере. Лет 5-6 назад был их клиентом и имел карту, сейчас же нет ничего - ни карт, ни приложения, ни личного кабинета.
Раньше для открытия такого счета было достаточно зайти в офис банка с паспортом и потратить 15 минут времени.
Сейчас:
Прийти в офис
Обновить личные данные (они устарели)
Выслушать все вариации доступных карт
Оформить карту
Установить личный кабинет на свой айфон через их учетку айклауда
Зайти в личный кабинет и подписать наконец документы.
linux_art Автор
Охъ... жесть какая...
salnicoff
А послать на три буквы копро-менеджера и подписать документы на бумаге своей рукой теперь уж нельзя? Просто очень хочется оценить уровень деградации Сберкассы...
linux_art Автор
Кстати интересно, а если вообще не иметь телефона, как такой сценарий должен выглядеть? :-/ Между 4 и 5 шагом добавится шаг "Купите телефон и оформите сим карту"? :-/