﻿# Автоматическая авторизация в LiveChat

> [HTML Version](livechat-auto-login.html)

Настройте автоматическую авторизацию пользователя в LiveChat при входе на сайт или портал. Тогда:

- клиенту не придётся заполнять ещё одну форму авторизации в чате для старта переписки с оператором;

- история переписки сохранится, даже если пользователь зайдёт с другого устройства или очистит кеш‑память браузера.

Для этого:

1. Установите запрет вручную заполнять данные для авторизации в чате. Для этого перейдите в настройки LiveChat и снимите все флажки в опции [Поля для авторизации пользователей](livechat.md#login-fields).

2. Перейдите в настройки сайта или страницы портала, откройте текст кода для размещения LiveChat и добавьте в него атрибут \[OBJECT\], в который должны передаваться следующие параметры с типом данных **Строка**:

	- **id** — идентификатор пользователя, заполняется в формате GUID;

	- **hash** — hash-ключ для авторизации пользователя, заполняется в формате GUID;

	- **name** — имя пользователя;

	- **email** — электронная почта пользователя;

	- **phone** — номер телефона пользователя.

Пример заполнения атрибута:

````
elma365LiveChatProfile=’\{"id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "hash": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "name": "User name", "email": "email@email.ru", "phone": "+79999999999"\}’

## ````
Настройка автоматической авторизации на примере внешнего портала

Рассмотрим настройку автоматической авторизации и использование атрибута \[OBJECT\] при размещении LiveChat на странице [внешнего портала](/ru/help/platform/service-portal.html):

1. Откройте страницу портала, на которой размещён LiveChat, в дизайнере интерфейсов. Перейдите на вкладку **Контекст** и создайте переменную \[OBJECT\], в которой будут храниться данные о пользователе.

2. Перейдите на вкладку **Скрипты** и в функцию [onInit()](widget_functions.md#onlnit) добавьте код, который будет сохранять данные о пользователе в переменную \[OBJECT\] в формате строки:

````
const user = await System.users.getCurrentUser();  
const HASH\_KEY = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX';  
Context.data.user\_data = JSON.stringify(\{  
      id: user.data.\_\_id,  
      hash: HASH\_KEY,  
      name: user.data.\_\_name,  
      email: user.data.email ?? ' ',  
      phone: user.data.phone ?? ' '  
\});

3. ````
Перейдите на вкладку **Шаблон** и откройте настройки виджета **Код**, который добавлен для размещения LiveChat. В тексте кода к атрибуту \[OBJECT\] добавьте атрибут \[OBJECT\] с переменной \[OBJECT\]:

````
<script>  
  let loader = document.querySelectorAll('\[src="https://domain.elma365.ru/assets/livechat/assets/elma365.livechat.loader.js"\]')\[0\];  
  loader.setAttribute('elma365LiveChatFormId', 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX');  
  loader.setAttribute('elma365LiveChatProfile', '<%= Context.data.user\_data %>');  
</script>

4. ````
Сохраните и опубликуйте изменения шаблона страницы портала.