﻿# Настроить авторизацию администратора в ELMA Cortex

> [HTML Version](cortex-auth-settings.html)

Задайте подходящий способ входа администратора в **ELMA Cortex**:

- без авторизации — по умолчанию любой пользователь при открытии **ELMA Cortex** автоматически входит как администратор;

- авторизация с помощью ELMA365 — вход с логином и паролем из ELMA365;

- авторизация с помощью ELMA Bot — вход с данными администратора ELMA Bot.

**Важно**: если пользователь уже входил в **ELMA Cortex** ранее заданным способом, после изменения настроек авторизации может потребоваться очистка данных в его браузере.

## Отсутствие авторизации

По умолчанию авторизация отключена — любой пользователь при открытии **ELMA Cortex** автоматически входит как администратор. Для обеспечения безопасности настройте вход с помощью ELMA365 или ELMA Bot.

Если нужно повторно отключить авторизацию, в файле переменных окружения `.env` установите для параметра `AUTH\_MODE` значение `Dummy`. Для применения настройки используйте команду:

````
./install.sh

## ````
Авторизация с помощью ELMA365

Вы можете настроить авторизацию в **ELMA Cortex** с помощью ELMA365 по протоколу OAuth 2.0. Администратор сможет авторизоваться в **ELMA Cortex**, используя логин и пароль из своей учётной записи ELMA365.

Для этого:

1. На стороне ELMA365 [загрузите модуль интеграции с ELMA Cortex](cortex-integration-solution.md), создайте клиента OAuth 2.0 и получите уникальный идентификатор и секрет внешнего приложения. 

2. В **ELMA Cortex** в файле переменных окружения `.env` заполните параметры:

	- `AUTH\_MODE` — укажите значение `ELMA365`;

	- `AUTH\_CLIENT\_OAUTH\_AUTHORITY` — введите адрес компании ELMA365, в которой настроен клиент OAuth 2.0, например `https://company.elma365.ru`;

	- `AUTH\_CLIENT\_OAUTH\_CLIENT\_ID` — вставьте уникальный идентификатор приложения;

	- `AUTH\_CLIENT\_OAUTH\_CLIENT\_SECRET` — вставьте секрет приложения;

	- `AUTH\_CLIENT\_OAUTH\_SCOPE` — оставьте значение `openid api`;

	- `AUTH\_CLIENT\_OAUTH\_REMEMBER` — настройте запоминание данных пользователя для входа, указав `true` или `false`;

	- `AUTH\_CLIENT\_OAUTH\_EXPIRES\_IN` — продолжительность сессии пользователя в формате ISO 8601. Например, для срока в 30 дней введите значение `P30D`.

3. Параметры применятся при установке **ELMA Cortex**. Если она завершена, для использования новых параметров запустите скрипт установки повторно, выполнив команду:

````
./install.sh

## ````
Авторизация с помощью ELMA Bot

Если вы используете ELMA Bot в поставках ELMA365 On‑Premises или SaaS Enterprise, то для входа в **ELMA Cortex** можно использовать его сервис авторизации. Тогда для входа в **ELMA Cortex** можно использовать логин и пароль, заданные для администратора в Helm-чарте ELMA Bot.

Для этого:

1. На стороне **ELMA Cortex** откройте файл переменных окружения `.env` и заполните параметры:

	- `AUTH\_MODE` — установите значение `Default`;

	- `ELMA\_BOT\_AUTH\_ADDRESS` — укажите адрес сервиса **auth** в ELMA Bot, например `https://bot.example.com/auth`;

2. Параметры применятся при установке **ELMA Cortex**. Если она завершена, используйте команду:

````
./install.sh

3. ````
На стороне ELMA Bot в Helm-чартах откройте файл `values.yaml` и в параметре `global.elmaCortexUri` укажите адрес сервера **ELMA Cortex**, например `https://cortex.example.com`.

4. Обновите Helm-релиз ELMA Bot и перезапустите сервис **auth**.