Описание процесса аутентификации API, Регистрация пользователя, Генерация токена, 6.3 Получение токена, Использование токена - Программное обеспечение для пропускной системы на основе технологии NFC
Особенностью архитектуры REST является отсутствия хранения состояния на сервере. Для того, чтобы не передавать пользовательские логин и пароль каждый раз, при вызове любого метода, используется аутентификация через Token.
Регистрация пользователя
Для регистрации пользователя необходимо методом POST передать на адрес '/register' телефон и пароль в полях 'phone' и 'password' (тип содержимого - multipart/form-data). Если пользователь с текущим телефоном не зарегистрирован, создается новый пользователь. Пароль пользователя перед сохранением хешируется с помощью алгоритма MD5 с использованием "соли". MD5 является одним из самых популярных алгоритмов хеширования, а использование соли позволяет избежать взлома хеша с помощью таблиц. Хеш и соль сохраняются в соответственные поля таблицы User.
Генерация токена
Токен генерируется по формуле: , где password - нехешированный пароль пользователя, salt - случайно сгенерированная "соль", tokenDate - время генерации токена. Использование времени генерации токена позволяет получать каждый раз разные токены.
6.3 Получение токена
Для того, чтобы получить Token необходимо обратиться к адресу '/login' методом POST. Тело запроса должно содержать два параметра 'phone' и 'password' (тип содержимого - multipart/form-data). В случае удачной аутентификации, клиент получает id пользователя и token в формате JSON.
Использование токена
Полученный токен должен передаваться с каждым последующим запросом в HTTP заголовке 'Authorization'. Токен имеет ограниченное время жизни, которое равняется 5 минутам. Каждый запрос к API, который требует аутентификацию, продлевает время жизни текущего токена, сбрасывая его на 5 минут. Данный механизм позволяет избежать последствий утечки токена.
Похожие статьи
-
Описание API сервера - Программное обеспечение для пропускной системы на основе технологии NFC
Таблица 8 Описание API URL Метод Параметры Возвращает Вариант /login POST Phone - form-data JSON {'token', 'id'} - ID пользователя и токен Успех Password...
-
Особенностью API для коммуникации с СКУД является то, что авторизация методов происходит не с помощью токена, а с помощью проверки IP адреса клиента на...
-
Коммуникация между клиентом и сервером начинается прежде всего с "рукопожатия" ( SSL Handshake). Цели данного рукопожатия, следующие [10]: 1. клиент...
-
Введение - Программное обеспечение для пропускной системы на основе технологии NFC
Массовые мероприятия стали неотъемлемой частью современного мира. Для таких мероприятий требуется быстрая организация временного разделенного доступа для...
-
Для того, чтобы использовать симметричные алгоритмы шифрования, необходимо безопасно обменяться ключами. Протокол Диффи - Хеллмана позволяет двум и более...
-
В данной главе приводится описание различных криптографических алгоритмов для безопасной передачи данных в приложении. RSA Для того, чтобы избежать...
-
Анализ безопасности - Программное обеспечение для пропускной системы на основе технологии NFC
Для обеспечения безопасности системы было решено использовать протокол HTTPS для связи клиента и сервера. Использование протокола HTTPS для коммуникации...
-
Версионность базы данных - Программное обеспечение для пропускной системы на основе технологии NFC
С ростом приложения существует проблема обновления схемы базы данных с сохранением внесенных данных. Если информация в базе данных не может быть легко...
-
Эмуляция карт в Android основана на сервисах (класс Service). Преимуществом использования сервисов является отсутствие необходимости запускать...
-
Устройство на операционной системе Android с поддержкой технологии NFC поддерживает три способа взаимодействия. Первый способ - режим чтения/записи. Этот...
-
Поскольку клиентская часть представляет собой приложение на базе операционной системы Android, то для ее разработки был выбран рекомендуемый...
-
В работе использовались следующее программное обеспечение для решения поставленных задач: AutoCAD, ANSYS Workbench, ANSYS Icepak. Система AutoCAD...
-
Заключение - Программное обеспечение для пропускной системы на основе технологии NFC
Обеспечение удобной пропускной системы - важная и актуальная задача. Появление новых технологий, таких как NFC и HCE, позволяет решить эту проблему. В...
-
Advanced Encryption System - алгоритм шифрования, разработанный в 1998 году, который пришел на замену алгоритму DES. Данный алгоритм базируется на шифре...
-
В этой главе представлено описание инструментов и методов, использованных при написании кода программы. Инструменты разработки серверной части Для...
-
Для того, чтобы избежать копирования карты доступа злоумышленниками был введен защитный механизм. Механизм основан на использовании алгоритма RSA....
-
SSL сертификат представляет собой простой текстовый файл, который может быть редактирован и создан кем угодно. Чтобы убедиться в том, что сертификат...
-
Общее описание программного обеспечения, реализующего разработанный алгоритм Основной идеей дипломного проекта, является реализация алгоритма...
-
Входная информация разделяется на условно-постоянную и оперативно-учетную информацию. - Условно-постоянная информация включает в себя справочные данные о...
-
1. Изучение теоретических аспектов использования: MS Word, MS Excel, MS Access, Paint и Photoshop... (ППО) Часть 1 : Руководство по выполнению...
-
Выбор средств реализации информационной системы Названные в параграфе 1.4. настоящей работы задачи могут быть решены тремя типами средств автоматизации:...
-
Data Encryption Standard - созданный в 1975 году и стандартизированный в 1977 году блочный алгоритм симметричного шифрования. Алгоритм Triple DES (3DES)...
-
На вход сервису от NFC считывателя приходит набор команд APDU. Формат этих команд определен в стандарте ISO/IEC 7816-4 [2]. APDU содержит либо команду,...
-
В связи с увеличением числа сотрудников, работающих в компании, а также с расширением рабочего проекта, возникла проблема, связанная с версионностью...
-
Определение методов реинжиниринга информационных систем Основные задачи, которые стоят перед проектировщиком, занимающимся реинжинирингом информационных...
-
Цель Работы - изучить основные способы работы с пользовательским типом данных "класс", его объектами, методами и способы доступа к ним. - Теоретические...
-
Цель Работы - научиться использовать операции динамического выделения и освобождения памяти на примере работы с одномерными и двумерными массивами, а...
-
Регистрация нового пользователя в системе возможна двумя способоами: 1) Самостоятельная регистрация пользователя; 2) Регистрация пользователя...
-
Диаграммы вариантов использования UML (англ. Unified Modeling Language) описывают взаимоотношения и зависимости между группами вариантов использования и...
-
Цель Работы - использовать принципы архитектуры "Документ-Представление" для выборки и сохранения данных в файлах, а также взаимодействия элементов меню,...
-
Цель Работы - изучить приемы создания и использования шаблонов классов. - Теоретические сведения Достаточно часто встречаются классы, объекты которых...
-
В предыдущем разделе был рассмотрен расчет затрат разработчика программного продукта, в этом разделе будет разобран расчет затрат пользователя, связанных...
-
Для реализации поставленной задачи методом конечных элементов будут использованы следующие программные обеспечения (ПО): - MATLAB - ПО и одноименный язык...
-
Использование квест-технологии в образовательном процессе - Информационные технологии обучения
Одной из основных задач современного педагога является предоставление возможности творческого переосмысления и систематизации приобретенных знаний и...
-
Adobe Dreamweaver Adobe Dreamweaver - это HTML-редактор от компании Adobe, который на сегодняшний день очень известный. Первая его версия была выпущена в...
-
Современные табличные процессоры имеют очень широкие функциональные и вспомогательные возможности, обеспечивающие удобную и эффективную работу...
-
Операционная система Windows - Программное обеспечение информационных компьютерных систем
Само название Windows, на русском языке означает "Окна" и имеет в нашем языке синонимы Виндовс, Вундоуз и другие производные полученные после перевода....
-
Преимущества, которые дает тестировщику автоматизация тестирования: - Исключен "человеческий фактор". Существует некоторая гарантия того, что не один...
-
По результатам обследования необходимо выбрать архитектуру системы. Для корпоративных систем рекомендуется архитектура клиент/сервер. Архитектура...
-
Операционная система - Программное обеспечение информационных компьютерных систем
Операционная система - это комплекс взаимосвязанных системных программ, назначение которого - организовать взаимодействие пользователя с компьютером и...
Описание процесса аутентификации API, Регистрация пользователя, Генерация токена, 6.3 Получение токена, Использование токена - Программное обеспечение для пропускной системы на основе технологии NFC