-
Що таке авторизація, чим вона відрізняється від аутентифікаціі чи ідентифікації
-
Як оформити блок авторизації, щоб користувачам було комфортно
Ми платимо в інтернеті, купуємо і продаємо, залишаємо чутливі дані, заводимо безліч акаунтів. Так само поводяться користувачі, коли відвідують сайти наших проектів. Відповідно, нам потрібно підтвердити, що користувач — саме той, хто має дозвіл на ті чи інші дії. Отже, давайте розглянемо інструменти, за допомогою яких можна авторизувати користувача на сайті.
Що таке авторизація, чим вона відрізняється від аутентифікаціі чи ідентифікації
Для початку визначимося з термінами. Ідентифікація — це визначення, хто перед нами. Як упізнання людини на вулиці. Аутентифікація (верифікація) — підтвердження, що ця людина — та, ким вона представилась, чи ким ми її вважаємо. В звичайному житті для цього показують документи. А авторизація — це надання підтвердження особі права на певні дії, доступ до інформації тощо. На сайтах зазвичай відбувається одразу всі три процеси, вони не розділяються в часі.
Говорять зазвичай саме про авторизацію, адже при взаємодіях в мережі постійно ідеться про надання певних прав — на перегляд вмісту, його редагування, здійснення платежів тощо.
Читайте також: Як дізнатися CMS сайту: огляд методів аналізу
Що таке авторизація і як вона працює
Авторизація — це спосіб захисту. Вона визначає права користувачів таким чином, що вони будуть неоднакові: хтось може увійти в акаунт/надіслати повідомлення/користуватися пристроєм, хтось може редагувати вміст, а хтось — ні. Для того, щоб визначити, хто має той чи інший привілей, проводиться аутентифікація — користувач визначається як такий, що має право на певні дії.
В широкому сенсі авторизація — це, наприклад, ключ від номера, що надають після поселення в готелі. В інтернеті — це процес перевірки користувача і надання йому певних прав. Якщо розглядати, що таке авторизація з точки зору процесу, то:
-
система отримує запит на здійснення певних дій;
-
аутентифікує користувача як такого, що має чи не має на них право;
-
задовольняє чи відхиляє запит (пропускає в поштову скриньку, робочий акаунт, банківський застосунок тощо).
Які види авторизації зараз використовуються
Певні сервіси дозволяють авторизуватися за допомогою стороннього верифікованого акаунту — наприклад, Google, Facebook, Twitter тощо. Вважається, що ці системи досить захищені, але акаунти в них регулярно ламають.
Найпростіший вид авторизації користувача, з яким знайомі геть усі, хто колись мав хоча б електронну пошту — логін і пароль. Це звично, але на цьому переваги такої авторизації завершуються. Натомість:
-
паролі часто гублять;
-
пароль легко зламати чи вкрасти за допомогою фішингу та іншими способами.
Тому, як правило, додають двофакторну авторизацію — наприклад, після введення вірного паролю на телефон надходить смс чи дзвінок, або треба відповісти на контрольне питання тощо.
До речі, двоетапна аутентифікація для входу у свій акаунт є також на сайті Cityhost.ua. Вона допоможе вберегти ваш хостинг, домени, орендовані VPS та виділені сервери від проникнення хакерів. Читайте інструкцію, як включити двоетапну аутентифікацію.
Типи авторизації, які використовують найчастіше:
-
Авторизація клієнта через сторонній сервіс (google-акаунт, акаунт соцмереж, телефон);
-
Авторизація через пошту (на електронну пошту надходить лист із одноразовим паролем;
-
Авторизація через смс;
-
Авторизація по дзвінку;
-
Створення токена входу (обмін зашифрованими повідомленнями).
Така авторизація вимагає від користувача виконати додаткову дію, щоб увійти в свій кабінет.
Сервіси та інструменти для авторизації
Найпростіші сервіси дозволяють ідентифікувати і допустити в систему користувача за листом на електронну пошту. Але це вочевидь не підходить, якщо ви плануєте отримувати через сайт платежі — наприклад, якщо йдеться про інтернет-магазин. Майданчики, для яких важлива безпека даних своїх користувачів, здійснюють більш складну верифікацію за допомогою одноразового коду на пошту, SMS або дзвінка, для чого використовують спеціалізовані сервіси або інструменти. Розберемося, які вони бувають.
Рішення «з коробки» на популярних рушіях WordPress та PrestaShop
Рушій Wordpress пропонує кілька плагінів, що дозволяють увімкнути двофакторну аутентифікацію і авторизацію користувача:
-
Two-Factor WordPress — безкоштовний плагін, що надсилає одноразові коди на електронну пошту;
-
Gateway API дозволяє розсилати SMS просто з адмінки сайту, а також довільно форматувати ці повідомлення, зокрема додавати ім’я користувача тощо;
-
Rublon дозволяє використовувати як смски, так і коди на електронну пошту, і інші методи.
Ми писали про захист сайтів на Wordpress і зокрема про плагіни безпеки. Деякі з них теж дозволяють двофакторну авторизацію.
Модуль Security Pro для рушія Prestashop, на якому роблять інтернет-магазини, також дозволяє вмикати двофакторну аутентифікацію.
Читайте також: CRM-системи — що це таке, навіщо потрібні та яку вибрати
Сервіси для авторизації за допомогою SMS — Kyivstar, Messedo, Decision
Авторизація через повідомлення передбачає, що користувач вводить пароль або входить на сайт іншим способом, а тоді система надсилає йому код за допомогою смс. Код вводять в спеціальне поле на сайті або він підставляється автоматично.
Один з найбільших операторів, що надає такі послуги — Kyivstar. Мобільний оператор пропонує можливість розсилки найрізноманітніших повідомлень для бізнесу, зокрема і для верифікації.
Спеціалізовані сервіси, що займаються лише SMS-розсилками, пропонують двофакторну аутентифікацію через повідомлення на телефон, класичною SMS-кою чи на Viber. Наприклад, Messedo пропонує за повідомлення в месенджер сплачувати менше копійки, тоді як класичне повідомлення коштуватиме 58 копійок. Код надходить у повідомленні, клієнт вводить його на сайті і потрапляє в свій кабінет.
А ось інший аналогічний сервіс, більш стриманий — Decision. Тут також йдеться про масові смс-розсилки, наприклад, для реклами, для підтвердження замовлень тощо. І смс для двофакторної ідентифікації — одна з послуг. Інтегрувавши цей протокол на сайт, можна також надсилати смс для підтвердження транзакцій.
Сервіси підключаються до сайту за допомогою SMS API, протоколів, що дозволяють інтегрувати смс-розсилку в наявне програмне забезпечення і робити все швидко.
Плюс таких сервісів порівняно з плагінами та модулями CMS, що дозволяють розсилати смс просто з адмінки сайту, в тому, що на зв’язку з вами може бути спеціаліст, який швидко все владнає, якщо щось піде не так.
Сервіси для авторизації за дзвінком — Zadarma, ITTel, AlphaSMS
Цей спосіб верифікації широко використовує, наприклад, «Приватбанк». Способи аутентифікації можуть бути різними. Десь треба відповісти на дзвінок і натиснути певні цифри, десь — просто прийняти його, десь — ввести на сайті останні цифри номеру, з якого щойно був дзвінок.
Авторизація за номером телефону по дзвінку має дві переваги:
-
дзвінок приходить швидше і практично не губиться, на відміну від SMS;
-
дзвінок дешевше;
-
вважається, що дзвінок важче перехопити.
Для такої авторизації є відкритий API на відомому сервісі Zadarma. Це — сервіс хмарної телефонії. Створивши віртуальний номер та інтегрувавши протокол на свій сайт, можна робити верифікаційні дзвінки з кодом. От тільки потрібен працівник, який зуміє коректно інтегрувати код, або певний час, щоб розібратися.
Існують сервіси, що пропонують зробити все за гроші клієнта.
Авторизація дзвінком в ITTel, наприклад, можлива як з сайту, так і з мобільного додатку, може інтегруватися з СRМ та системою лояльності.
А AlphaSMS одразу дадуть ще й безкоштовний віджет, щоб не залучати програмістів.
Більшість сервісів пропонує безкоштовне тестування.
Читайте також: Як створити свій сайт для бізнесу: самостійно, легко і відносно дешево
Як оформити блок авторизації, щоб користувачам було комфортно
Головний принцип полягає в тому, щоб бути зрозумілими і не відволікати користувача від основної мети. Якщо ви і так авторизуєте клієнта, не варто пропонувати йому ще й капчу, вгадування картинок чи якісь інші квести. За можливості можна навіть уникати введення одночасно і пароля, і кода з смс. Авторизація — це додаткова дія в процесі, а сучасні люди завжди поспішають і не люблять спинятися.
Що зрозуміліше поле авторизації, лаконічніше і однозначніше, то краще на нього реагують.
Зокрема, воно має бути:
-
достатньо великим для інформації, яку туди вводять;
-
містити лише одну зрозумілу кнопку, зрозумілий заклик до дії, мінімум інших деталей;
-
бажано розміщеним так, щоб привертати увагу. Ніщо так не бентежить на сайті Харківських тепломереж, як пошук, де ж тут авторизуватися, щоб передати показники.
Існує і безліч способів зробити введення приємнішим і привабливішим:
-
рядок, що реагує на введення;
-
контрастна кнопка, що реагує на натискання;
-
лаконічне і зрозуміле повідомлення про те, чого чекати після введення даних (вас скерують на сайт, на телефон прийде смс, лист на пошту тощо);
-
зручне повідомлення про помилку, якщо клієнт припустився її;
-
автопідстановка коду, якщо приходить смс.
Взагалі весь процес авторизації варто пройти подумки кілька разів з точки зору клієнта і зауважити, на яких етапах вам уже стає трохи нудно або складно, чи не можна від чогось відмовитися. Тоді баланс між безпекою і зручністю буде таким, як треба — можливо, не ідеальним, але ідеальних речей узагалі небагато.
Сервіси, розглянуті в цій статті, складають далеко не вичерпний список. Проте плагіни, платні сервіси та відкриті API діють за схожими принципами. Отже, варто обирати з точки зору припустимої для бюджету ціни і, можливо, додаткових опцій, які потрібні в конкретній ситуації. Організувати двофакторну авторизацію за їхньою допомогою не важко, але вона захищає як проект, так і його клієнтів.