Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Описание



Eltex-doors является сервисом аутентификации, который выполняет проверку подлинности пользователя, созданием  токена и верификацией токена.

Eltex-doors формирует токен JWT на основе переданного POST-запроса содержащий логин, пароль, а также  метаданные.

JWT(JSON Web Token) -  JSON объект, определен в RFC 7519

Сгенерированные токены хранятся в БД eltex-doors, таблица auth_token.  По истечению, заданного в конфигурационном файле, времени(token.expire.timeout), выполняется очистка устаревших токенов из БД.

Параметры "срок действия токена{iat}" и "время создания токена{exp}" указаны в payload токена и можно узнать выполнив декодирование токена.


Доступные методы API: /api/signin/

Пример передаваемых параметров в POST запросе

{
    "username": "user", 
    "password": "password", 
    "metadata": {
        "nasIp": "100.112.0.1",
        "sessionId": "5692549928996308667",
        "vrf": "1", 
        "clientMac": "FC-45-96-5F-50-AC" 
    }
}
  • В случае успеха, сервис ответит:
{
    "status": "OK",
    "accessToken": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyIiwiYXV0aCI6WyJST0xFX0FETUlOIl0sImlhdCI6MTU1OTcwOTQ2OCwiZXhwIjoxNTU5NzgxNDY4LCJuYXNJcCI6IjEwMC4xMTIuMC4xIiwic2Vzc2lvbklkIjoiNTY5MjU0OTkyODk5NjMwODY2NyIsInZyZiI6IjEiLCJjbGllbnRNYWMiOiJGQy00NS05Ni01Ri01MC1BQyJ9.VQ1NKCcG445eSMz7jOoTGt7PC1HVhTkFxxwWWxdVO3Y"
}

где, status - статус ответа
accessToken - сгенерированный токен

  • В случае ошибки, сервис ответит:
{"status":"FAIL","error":"Invalid username or password"}

где, status - статус ответа
error - описание ошибки

Конфигурация

Конфигурационный файл располагается по адресу /etc/eltex-doors/application.properties

## Mysql datasource properties
spring.datasource.url=jdbc:mysql://<<ip_address>>:3306/eltex_doors?useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
spring.datasource.username=eltexdoors			Логин 
spring.datasource.password=eltexpassword		Пароль

spring.flyway.url=jdbc:mysql://localhost:3306/eltex_doors?useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
spring.flyway.user=eltexdoors					Логин
spring.flyway.password=eltexpassword			Пароль

## Eureka settings and starting server port
server.port=9097								Порт, который слушает сервис

## Custom application properties
## Token expiration timeout
# Use time format HH:mm:ss
auth.cron.session.timeout=*/60 * * * * *		Период проверки жизни токена
auth.token.expire.timeout=20:00:00 				Время жизни токена

# Login and password from basic account
auth.username=user  						    Логин, для подключения к eltex-doors
auth.password=password 							Пароль, для подключения к eltex-doors

Файл настройки логирования /etc/eltex-doors/log4j2.xml

Файл настройки инициализации сервиса /etc/default/eltex-doors

# AP Monitoring service

# Initial size of Java heap
JAVA_INIT_HEAP=8m 							Количество ОЗУ выделяемой при инициализации
# Maximum size of Java heap
JAVA_MAX_HEAP=64m 							Количество ОЗУ выделяемой при работе 

# Additional arguments to pass to java
JAVA_OPTS="-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/eltex-doors"


  • Нет меток