Опубликовано: 13.04.2018
Передача User ID (в защищенном режиме).
carrotquest.auth('5231', '49672bf861335d68040fedb25c90a580dd33c6748dc82d8fe76d508ebcef2b4b');userId | обязательно, User ID |
hash | обязательно, хеш |
Если вы используете auth, то вызов identify должен идти после auth.
Если на вашем сайте есть регистрация/авторизация, то мы настоятельно рекомендуем передавать к нам User ID. Мы используем User ID для объединения пользователей с разных устройств.
Второй аргумент — хеш, вычисленный по алгоритму HMAC SHA 256. Текстом для хеширования является User ID, ключом - User Auth Key, его можно узнать в панели администратора . Проверить правильность генерации хеша можно в этом онлайн-генераторе . Важно понимать, что безопасность держится на секретности этого ключа (система с разделяемым секретом ), поэтому этот ключ ни в коем случае нельзя использовать на стороне браузера (Javascript), генерация хеша должна происходить только на стороне сервера . Если ключ перестанет быть секретом, то недобросовестные пользователи смогут читать чужие сообщения или совершать события от имени чужого пользователя.
Пример генерации хеша на языке PHP:
В браузере это будет выглядеть следующим образом:
Таким образом, ваш пользователь не видит секретный ключ, и ему будет присвоен User ID = 2
Этот метод можно вызывать только один раз после авторизации (актуально для Single Page App), либо он может вызываться многократно (если вы вставляете код средствами Backend-a на каждую страницу, когда пользователь авторизован, т.е. например через PHP) - это тоже ОК.
Существует два правила: