Объяснение единого входа
ChatBro позволяет настроить авторизацию в чате так, чтобы использовалась информация сайта о пользователе. Например, ник, аватар, путь до профиля. Для этого необходимо передать ChatbroLoader дополнительные параметры.
ChatbroLoader({
encodedChatId: Ваш encodedChatId, //Или вы можете использовать другие идентификаторы, такие как chatPath или chatAlias
siteDomain: Ваш домен,
siteUserExternalId: Id пользователя на сайте,
siteUserFullName: Имя пользователя или ник,
siteUserFullNameColor: Цвет для имени пользователя,
siteUserAvatarUrl: Какой-либо путь до аватара,
siteUserProfileUrl: Путь до профиля пользователя
});
Пример
ChatbroLoader({
encodedChatId: '9czk',
siteDomain: 'chatbro.com',
siteUserExternalId: '652',
siteUserFullName: 'Brad Pitt',
siteUserFullNameColor: '#d81818d9',
siteUserAvatarUrl: '//www.chatbro.com/images/brad_pitt.jpg',
siteUserProfileUrl: '//www.chatbro.com/profile/652'
});
Минимальный набор параметров для аутентификации пользователя состоит из siteDomain, siteUserExternalId, siteUserFullName. Параметры siteUserAvatarUrl, siteUserProfileUrl и siteUserFullNameColor необязательны.
В редакторе чата вы можете комбинировать разные методы авторизации или вовсе все отключить и оставить только авторизацию через сайт. Попробуйте написать что-нибудь в чат ниже.

Также можно отключить тип входа, использующий передачу параметров авторизации. Это рекомендуется сделать, если вы не используете логин через сайт. В приведенном ниже примере, параметры siteDomain, siteUserExternalId и siteUserFullName передаются в ChatbroLoader, но при этом единый вход отключен. Попробуйте отправить сообщение.

Спуфинг атака - это ситуация, в которой человек или программа успешно маскируются под другого пользователя, фальсифицируя данные, с целью получить незаконное преимущество. Другими словами, злоумышленник может подставить свои параметры авторизации и написать в чат, используя данные другого человека. Чтобы этого не произошло, необходимо включить защиту от спуфинга.
Теперь, чтобы иметь возможность отправлять сообщения, необходимо передать дополнительный параметр - signature.
Сигнатуры рассчитываются на стороне сервера на основе переданных параметров. Порядок параметров при расчете очень важен.
signatureDataParts =
siteDomain
+ siteUserExternalId
+ siteUserFullName
+ siteUserAvatarUrl
+ siteUserProfileUrl
+ siteUserFullNameColor
+ permissions.join('')
+ secretKey;
md5(signatureDataParts);
Свой секретный ключ вы можете найти в редакторе чата, в первом блоке. Параметры siteDomain и secretKey необходимы всегда. Остальные нужно игнорировать, если вы не используете их в ChabroLoader.
Пользователя можно сделать модератором. Для этого этому пользователю необходимо добавить в ChatbroLoader параметр под названием permissions. Permissions - это массив разрешенных методов модерации. Используется только совместно с параметром signature. Возможные значения: ban (возможность банить пользователей), delete (возможность удалять сообщения). Важно отметить, что при таком способе добавления модератора, пользователь не будет указываться в качестве модератора в сообщениях, хотя сможет модерировать. Исправить эту ситуацию поможет параметр siteUserFullNameColor. Например: permissions: ['ban', 'delete']

Если параметр signature не передается или передается, но при этом рассчитан неправильно, сообщение не отправится. В чате, в этом случае, отобразится соответствующее предупреждение.

Если вы не хотите, чтобы чат устанавливался на другие сайты, кроме вашего, то отключите ползунок «Показывать чат в случае ошибки подписи».

Передается полный набор параметров для авторизации пользователя
ChatbroLoader({
encodedChatId: '12UNE',
siteDomain: 'chatbro.com',
siteUserExternalId: '653',
siteUserFullName: 'Johnny Depp',
siteUserFullNameColor: 'grey',
siteUserAvatarUrl: '//www.chatbro.com/images/johnny_depp.jpg',
siteUserProfileUrl: '//www.chatbro.com/profile/653',
// md5('chatbro.com653Johnny Depp//www.chatbro.com/images/johnny_depp.jpg//www.chatbro.com/profile/653grey40657820-0ba1-4e1d-b2f6-b2a40fd09263');
signature: 'a891505dc33768417d3ed98cdce0205b'
});
Передается минимальный набор параметров для авторизации пользователя
ChatbroLoader({
encodedChatId: '12UNE',
siteDomain: 'chatbro.com',
siteUserExternalId: '654',
siteUserFullName: 'Leonardo DiCaprio',
// md5('chatbro.com654Leonardo DiCaprio40657820-0ba1-4e1d-b2f6-b2a40fd09263');
signature: '87349605ce68abbcd52974077aaecd24'
});
Защита от спуфинга включена и возможна авторизация через социальную сеть или гостем
ChatbroLoader({
encodedChatId: '52UNe',
siteDomain: 'chatbro.com',
// md5('chatbro.com67565da2-d138-4991-89bd-1f280b2234dc');
signature: 'ac9fb8ff7228339561bfb4beda35e471'
});
Пользователь может удалять сообщения в чате
ChatbroLoader({
encodedChatId: '12UNE',
siteDomain: 'chatbro.com',
siteUserExternalId: '654',
siteUserFullName: 'Leonardo DiCaprio',
permissions: [ 'delete'],
// md5('chatbro.com654Leonardo DiCaprio < b delete 40657820-0ba1-4e1d-b2f6-b2a40fd09263');
signature: 'd24d9f8f94571a0eb56c2f0eb5ff1328'
});