Для входа используется следующий адрес:
URL: /api/login
Method: POST
Body: {“login”: string, “password”: string}
В случае успеха возвращает следующий ответ:
expiresIn: 3600,
token: jwt,
login: user.login,
В случае ошибки возвращается код ошибки и описание:
{“code”: “”, “description”: “”}
Варианты ошибок:
400 BadRequest пользователь не существует
401 Unauthorized логин или пароль неверный
500 InternalServerError ошибка сервера
Далее идет запрос на адрес:
URL: /api/subscribe
Method: GET
Header: jwt-test токен полученный в результате авторизации/регистрации
Фронт обращается к серверу с использованием токена в Header
jwt-test: string
и получает ссылку с OTP на WebSocket сервер. Далее по этой ссылке подключается к WebSocket серверу фронт и получает текущее время сервера с периодичностью 1 раза в секунду. Периодически сервер должен разрывать соединение c протуханием OTP
В случае успеха возвращает следующий ответ:
{“url”: “
server/websocket/{{otp}}”... Варианты ошибок:
400 BadRequest нет токена
401 Unauthorized токен протух или не валидный
500 InternalServerError ошибка сервера
WS сервер:
Формат сообщений, которые сервер шлет на фронт с переодичностью в секунду: {“time”: unix_time}
При подключении в WebSocket серверу возможны ошибки:
401 Unauthorized OTP протух или не валидный
404 NotFound ошибка в адресе сервера
500 InternalServerError ошибка сервера
Модуль регистрации и авторизации с настроенным Passport предоставляется исполнителю