#авторизация

4 постов
пост №1511Разработка и инженерия

Auth0 (Okta) кенселят клиентов из России начиная с 21 марта.

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

Неделя на то, чтобы мигрировать такую ключевую часть инфраструктуры — это очень мало. Сочувствую коллегам, которым придется этим сейчас заниматься. Как альтернативу, которой пользуюсь сам, могу посоветовать OneLogin.

Важно, что хоть они и ссылаются в письмах на санкции — на самом деле никаких государственных ограничений для работы пока нет. Это кенселинг, прикрытый фразой «санкции правительства США».

пост №1001Продукты и дизайн

Открыл сегодня bitbucket, в очередной раз увидел логин одним кликом через гугл-аккаунт и так обидно стало!

Владельцы сайтов, которые успели зарегистрироваться в программе получают ×2 ×3 логинов на сайт, а кто не успел — сосут лапу :(

Вот видео, где гугл презентовали эту функцию и приводят безумные цифры роста входов. Рабочий вариант можно посмотреть на medium.com или aviasales.ru (респект ребятам, вовремя подсуетились!). Обратите внимание, работает это только в Google Chrome, Safari блокирует third party cookies и это отдельная история.

пост №849Разработка и инженерия

Давно я не рассказывал истории из профессиональной жизни.

Вчера мы поменяли кнопки логина через соцсети. Раньше показывали белые круглые, в которых угадать соцсеть можно было только по форме логотипа. В новом дизайне явно написано название соцсети и вся кнопка фирменного цвета.

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

Из-за этой кнопки с аватаркой всё и закрутилось. Для начала, пришлось выкинуть старый механизм аутентификации с oauth-редиректом и подключить библиотеку фб, которая делает всю работу сама. Потом я заметил (уже на продакшене), что страница логина крешится. Оказалось, что фейсбук хитро инициализирует свою js-библиотеку и при определенной последовательности загрузки скриптов она ломается. Воспроизводится это у нас не каждый раз и только на продакшене. В сафари ломается чаще, чем в хроме, так что любовь нашего фронтендера Ромы к Linux отладку не упрощала. Чтобы не ломать страницу целиком, мы срочно вставили try-catch, а потом сделали хитрую схему.

Теперь мы сначала показываем все три кнопки соцсети как обычно (oauth-редирект для фб вернулся в код обратно), при этом в фоне грузим библиотеку фб. После успешной загрузки красивой кнопки фб, мы заменяем нашу кнопку логина на родную фб, так что это практически незаметно.

В отношении этой разработки у меня два разных чувства:

- жалость, что зря потеряли время, потому что у большинства пользователей, которым нужен логин через Facebook, уже загружена js-библиотека фейсбука, так что можно было не извращаться + кажется, что тупо недоразобрались с js-ошибками;
- чувство удовлетворения, что сделали качественно «заднюю стенку шкафа», все три кнопки логина покажутся мгновенно, без задержки в любом случае.

В любом случае, получилось классно. Логиньтесь!

В ролях: продакт 🤔 Алексей Горностаев, дизайн 🖌 Андрей Кулагин, фронтенд 🖼 Роман Ахмадуллин.

пост №75Разработка и инженерия

Короткая (14 страниц A4) и познавательная статья про безопасность в гугле: https://cloud.google.com/security/security-design/
Проходится «по верхам» обеспечения безопасности такого монстра, как Google.

Мне было особенно интересно про аутентификацию/авторизацию на уровне общения сервисов друг с другом (внутри есть больше подробностей про это):

Each service that runs on the infrastructure has an associated service account identity. A service is provided cryptographic credentials that it can use to prove its identity when making or receiving remote procedure calls (RPCs) to other services. These identities are used by clients to ensure that they are talking to the correct intended server, and by servers to limit access to methods and data to particular clients.