| |||
|
|
удобнейшая авторизация от TeddyId.com Сегодня расскажу про крайне полезный сервис teddyid.com, который я изучил и привинтил к движку в своем блоге. Это - двухфакторная система авторизации, которая позволяет забыть о паролях (и их утечках) не только на сайтах, где эта система установлена (например, на моем), а вообще на любых сайтах интернета (плагин к браузеру). А для банков, организаций и юрлиц это еще специальный сервис: цифровые подписи, ведение некоторой документации и учета. Идея в том, что одним из гарантов индентификации является не только компьютер, с которого производится действие, но и личный смартфон, с которым система в нужный момент выходит на связь и запрашивает подтверждение (а также сайт может задавать по API и произвольные вопросы, получая от пользователя ответ со смартфона). Забегая вперед, скажу, что в в такой системе важна реализация и юзабилити, и здесь это на высоте: все происходит быстро и удобно. предыстория Существующая система паролей в интернете, мягко говоря, устарела. Время от времени где-то чей-то аккаунт ломают, и пользователь начинает громко жаловаться на "подобранный" пароль. Чего в реальности практически не бывает, потому что пароли уплывают после взлома компьютера или методами социальной инженерии. Но дело не в этом. Разработчики систем, напуганные жалобами пользователей, начинают изобретать методы усложнения паролей: и чтоб не менее 8 символов, и чтоб разного регистра буквы, и чтоб была хотя бы одна цифра или спецсимвол... В результате пароль получается таким, что запомнить его нереально (особенно если активно живешь в сети и постоянно где-то регистрируешься). Соответственно, пользователь начинает запоминать пароль в браузере, записывать на бумажке над рабочим столом, соответственно риск угона возрастает... замкнутый круг. С проявлением мобильников в качестве личного аксессуара некоторым (в первую очередь платежным системам) стала приходить в голову идея двухфакторной авторизации - когда при логине система просит подтверждение с использованием личного мобильника. Однако это обычно оставалось на уровне "дождитесь SMS с кодом и введите его сюда". Создатели проекта teddyid.com пошли дальше - они предложили избавиться от паролей вообще, забыв их как страшный грех. В настоящее время система teddyid.com предлагает несколько полезных вещей: для простого пользователя, для разработчика сайтов и для корпорации. Расскажу по порядку. TeddyId для рядового пользователя Меденджер паролей от TeddyId работает для любого сайта - даже если сайт ничего не знает о TeddyId. Смотрим короткий ролик: Как это устроено технически? Плагин к браузеру, который взаимодействует с приложением teddyid на смартфоне. Плагин активизируется при наличии на странице любого сайта формы INPUT/password ввода пароля. При первом вводе плагин предлагает запомнить пароль в системе teddyid (можно отказаться). Далее пароль преобразуется современными криптографическими методами на две шифрованные части. Одна часть запоминается на сайте teddyid, другая - в локальном хранилище браузера и копия в смартфоне. Всё, пароля больше нет нигде. Заполучив лишь одну часть, расшифровать его нельзя. С тех пор при посещении этого сайта плагин будет предлагать ввести пароль через teddyid - достаточно нажать "да" на смартфоне, и пароль введен (собран из двух кусков, дешифрован и подставлен в форму). Что будет, если вы переустановили браузер, Local Store очистилось и половина шифропароля утерялась? Не проблема, она сохранилась в смартфоне, всё будет восстановлено при логине. Что будет, если украли смартфон или он сменился? Не проблема, на сайт teddyid можно войти по-старинке, через код, а в своем аккауте отключить старый смартфон и активизировать новый- данные снова запишутся. Ну, разумеется, если одновременно убить и браузер и смартфон, пароли будут утеряны, но это ж надо постараться. Я поставил себе, разумеется, и это оказалось ОЧЕНЬ удобно. Особенно меня бесил сайт Aliexpress, который разрывает сессию через полчаса после ухода со страницы, и требует вводить пароль заново. Что надо сделать простому пользователю, чтобы обезопасить себя от кражи пароля (шифропароль из двух частей украсть не в пример сложнее) и облегчить себе жизнь? Три простых шага: 1) Установить на свой смартфон приложение, оно есть под все мыслимые мобильные платформы (а для безнадежно старинных есть даже java-приложение): 2) Завести аккаунт на https://teddyid.com Там все просто. Причем, со смартфона достаточно из приложения сфоткать QR-код на экране, и все само сконнектится. 3) Установить в браузер плагин Teddyid. Плагины тоже есть для любого браузера, кроме Opera (и тот скоро будет): Chrome, Firefox, Explorer, Safari. Плагин первые 30 дней бесплатный, далее если понравился, его можно одноразово купить за 0.99$. Этот плагин лишь одна из вариаций. Система логина для сайта (например, моего), о которой пойдет речь ниже, бесплатна в непромышленных количествах. TeddyId для разработчика сайтов Если вы хотите, чтобы ваши пользователи (независимо от того, установлен ли у них плагин) могли логиниться через эту систему, вы можете установить ее себе на сайт. сделать это очень просто, достаточно вставить в код одну строку: <script src="https://www.teddyid.com/js/teddypa И смело рисуйте на странице свою форму ввода пароля - браузер посетителя отреагирует так же, словно в нем установлен плагин, описанный в предыдущем разделе. Способ со вставкой одной строки прост и эффективен, но для серьезного проекта конечно есть более грамотный: API авторизации. Оно подробно описано и не сложно в реализации (есть и готовая библиотека PHP, но я по привычке рисовал код сам). Помимо простого логина, API позволяет еще много интересных вещей. Например, делать запросы на мобильник и получать ответ "да" или "нет". Что позволяет делать безопасные вещи в разных сетевых проектах. "Вы действительно хотите удалить свой фотоальбом или маленький братишка играется у забытого ноутбука?" - да, нет? "Вы хотите открыть свой архив личной переписки или это жена включила комп и открыла ваш аккаунт в соцсети?" - да, нет? Невероятное количество проблем можно было бы решить, будь подобная настройка (по желанию) на всех крупных проектах. У меня сайт сейчас умеет через TeddyId (если его подключить и выставить соответствующие галочки в настройках): А также оповещения: В оповещениях мил тот факт, что они приходят на смартфон, когда вы не за компьютером. Отвечать на них "да" или "нет" не надо. При этом надо учесть, что оповещения - штука ненадежная, они могут не прийти вообще, а при появление следующего оповещения предыдущее затирается. Кроме того, оповещения не личные, а массовые ("всем читателям: вышла новая заметка!") делать нельзя. Во-первых, это запрещено политикой, например, Apple. Во-вторых, достаточно во-первых, и сервис TeddyId массовым рассылкам рад не будет, отключат. Для иллюстрации примера запроса API я сделал вот эту кнопку: Каждый, кто залогинился на моем сайте через teddyid, может нажать эту кнопку и увидит вышеописанную пикантную фотку. Остальным - радость недоступна :) Чтобы залогиниться на моем сайте через teddyid, просто откройте личную карточку и нажмите кнопочку "добавить" в строчке "teddyid". Это дополнительный способ логина в добавок к местному паролю и соцсети (можно логиниться любым из трех методов). Для владельцев моего движка - обновитесь с lleo.me/dnevnik (на остальные источники я пока обновления не накатил), а в config.php добавьте две строки: номер учетки, полученный при регистрации вашего сайта в личном кабинете на teddyid.com ("узлы"-"настольное приложение") и секретный ключ, который вы вбили там же при регистрации, у меня это так: $teddyid_nodeid='488'; TeddyId для организаций Поскольку основная монетизация проекта идет с организаций (сервис бесплатен для простых пользователей и сайтов с количеством регистраций до 1000 в сутки), для организаций здесь сделано особенно много - системы документооборота, ведения документов, учет сотрудников и цифровая электронная подпись. Что тоже несказанно удобно, потому что все это работает по двухфакторной системе через смартфон. Для банков, организаций, офисов эта система будет очень полезна, потому что не только решает вопросы безопасности, но и дает удобный деловой сервис. Я зарегистрировался там как ИП, осталось пройти подтверждение: Интервью с разработчиками В процессе освоения системы я много переписывался с разработчиками и даже слал предложения и идеи разной степени глупости. В итоге я даже попросил Антона Чурюмова ответить на несколько вопросов специально для блога:
В общем, рекомендую. Если какие-то вопросы по использованию, API, его работе, встраиванию, программированию) - спрашивайте, я неделю в эту систему въезжал в мельчайших деталях и достаточно подробно разобрался (и с разработчиками много беседовал), так что подскажу, объясню. Может, в комментариях и сами разработчики будут, ответят на вопросы. это перепост заметки, оригинал находится на моем сайте: http://lleo.me/dnevnik/2015/02/09_teddyi |
|||||||||||||||