Авторизация для сайтов позволяет идентифицировать пользователя или программу и разрешить либо запретить им выполнять определенные действия. Она совершается вручную путем ввода логина и пароля или автоматически. Первый вариант подходит только в том случае, если пользователь планирует редко посещать сайт. Как это работает и как реализовать у себя?
Если идентификация нужна для постоянной работы и взаимодействия различных сервисов друг с другом, используется авторизация через API. После разработки или доработки корпоративного ПО и внесения данных о пользователях процесс опознавания будет проходить незаметно для них и без дополнительных усилий. Это также повышает удобство администрирования и упрощает обмен данными между программами внутри IT-инфраструктуры компании.
Для чего нужна авторизация
Распределенные в сети приложения могут работать только после аутентификации пользователя. Это даёт гарантию сохранности данных, правильного их использования и изменения. API-интерфейс позволяет полностью автоматизировать процесс и интегрировать его в программную инфраструктуру конкретного бизнес-заказчика.
Аутентификация через API связывает запросы с конкретным пользователем и отслеживает его действия. Благодаря этому исключается возможность злонамеренных действий и компрометации других сотрудников. Например, сознательное удаление записей или внесение в них недостоверной информации.
Программная авторизация позволяет решить следующие задачи:
-
разрешить использование корпоративного ПО и баз данных только для зарегистрированных пользователей
-
отслеживать источник поступления запросов и запрещать выполнение определенных действий
-
проверять использование корпоративного ПО сторонними сервисами и программами
-
блокировать пользователя, который нарушает установленные правила, превышает ограничения на загрузку данных и так далее
-
разрешать и запрещать определенные действия для разных сотрудников в зависимости от их роли в компании
С помощью API-идентификации можно решать и коммерческие задачи, связанные с клиентами. Автоматизация процесса регистрации и авторизации упрощает заполнение баз данных в CRM, стимулирует повторные заказы, уменьшает нагрузку на менеджеров. С помощью различных программ можно собирать статистику, анализировать ее и принимать на основе полученных отчетов управленческие решения.
Одновременно автоматизация позволяет отказаться от совершения рутинных действий, связанных с регистрацией и идентификацией.
Способы идентификации для взаимодействия программ
Авторизация для сайтов реализуется с помощью нескольких методов. Разберем наиболее популярные варианты.
Ключ API
Для взаимодействия различных сервисов с корпоративным ПО через API необходим ключ. Внешне он выглядит как набор уникальных символов и вставляется в URL-запрос. С помощью такого токена происходит идентификация пользователя, который его отправляет. Также можно присваивать ключ приложению.
Используются открытые и закрытые ключи. С помощью закрытого обычно производится серверная авторизация.
Basic Auth
Идентификация происходит с помощью логина и пароля, которые также вставляются в заголовок запроса. Во избежание утечки данные кодируются. Также используется протокол передачи HTTPS, который исключает перехват ключа благодаря шифрованию.
HMAC
Способ авторизации, в котором используются хэши. Благодаря большей надежности он часто применяется для идентификации пользователей в финансовых и корпоративных сервисах.
Суть его заключается в обмене секретным ключом между отправителем и получателем. Этот код не передаётся никому другому. Сам хэш создаётся на основе системы информации. Например, время отправки запроса и идентификатор пользователя. Преимущество в том, что ключ не включается в запрос, подделать его невозможно.
OAuth авторизация
Популярный вариант идентификации пользователей. Клиентская авторизация производится с помощью сервера аутентификации, который обменивается данными с сервером API для разрешения или отказа в доступе. С помощью этого способа можно идентифицировать пользователя через сторонние сервисы. Например, аккаунты социальных сетей.
Используются упрощенные и усложненные варианты OAuth:
-
One-legged Oauth – для получения данных, которые не нужно защищать. Например, справочная информация без права изменения.
-
Three-legged OAuth — для получения защищенных данных. В процессе идентификации участвуют два сервера (аутентификации и API), а также пользователь или программа.
Авторизация в REST API
Серверная авторизация для взаимодействия компонентов распределенного сетевого приложения происходит с использованием REST API. В этом наборе правил есть публичные и приватные точки. Последние требуют аутентификации при выполнении запроса.
Этот процесс для сайтов на WP реализуется:
-
Через Cookies — стандартный вариант для сайтов. Пользователь вводит свои учетные данные, которые браузер запоминает и хранит в файле на компьютере пользователя.
-
С помощью встроенного Javascript API — авторизация без передачи nonce-кода. Этот способ рекомендуется использовать при создании плагинов и тем для сайтов.
-
Произвольными ajax-запросами — nonce-код передается самостоятельно при запросе. Для его создания используется специальный ключ.
Как API помогает упростить авторизацию
Автоматизация бизнес-процессов сокращает время на выполнение рутинных операций, повышает удобство использования онлайн-сервисов и корпоративного ПО компании. Внедрение авторизации с помощью API оказывает положительный экономический эффект и увеличивает рентабельность работы. Значительные капитальные вложения на внедрение новых инструментов не понадобятся.
Пример идентификации сотрудников
В компании работает около 20–30 сотрудников, которые выполняют свои обязанности удаленно. Для доступа к корпоративным ресурсам и облачным хранилищам данных им необходимо авторизоваться с помощью логина и пароля. Этот процесс занимает время. Дополнительные сложности создаёт периодическая смена должности сотрудника, увольнение старых и приём на работу новых.
Автоматизация процесса идентификации на корпоративных ресурсах с помощью API позволила алгоритмизировать этот процесс с учётом внутренних требований безопасности. В результате менеджерам удобнее проходить идентификацию, она происходит автоматически. Администраторы получили инструмент для управления уровнями доступа в зависимости от должности сотрудника.
Пример программы лояльности
Торговая компания запустила программу лояльности, в которой начисление баллов и бонусов происходит в зависимости от совершённых ранее покупок. Клиенты идентифицируются по логинам, которые они использовали при регистрации. Первоначальная авторизация требовала ввода логина и пароля вручную, что делали далеко не все посетители.
API-авторизация позволила автоматизировать этот процесс и делать его удобным для клиентов. В результате значительно повысился процент совершения покупок зарегистрированными и авторизированными клиентами. Информация о совершенных покупках идентифицированными пользователями загружается в CRM и её используют для разработки индивидуальных маркетинговых решений.
API для автоматизации бизнеса
Унифицировать процесс авторизации и организовать обмен данными между сайтами и корпоративным ПО можно с помощью CPaaS-платформы МТС Exolve. Она создана как инструмент для гибкого внедрения коммуникаций в действующие информационные бизнес-решения.
Сервис отличается универсальностью и даёт возможность учесть интересы всех участников процесса. С его помощью можно автоматизировать авторизацию пользователей за счёт объединения ПО.
Такой подход имеет ряд преимуществ:
-
идентификация пользователей становится простой и понятной
-
упрощается процесс управления уровнями доступа к корпоративному ПО
-
появляется возможность для двустороннего обмена данными между различными программами
Подробная техническая документация для CPaaS МТС Exolve позволяет в минимальные сроки разработать индивидуальные решения для конкретной сферы применения и быстро интегрировать их в бизнес-процессы компании.