Описание процесса аутентификации 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, Регистрация пользователя, Генерация токена, 6.3 Получение токена, Использование токена - Программное обеспечение для пропускной системы на основе технологии NFC

Предыдущая | Следующая