Вопросы с использованием QuickBlox JavaScript SDK

Я новичок в QuickBlox и у меня есть пара вопросов. Я пробовал искать в StackOverflow и в других местах, но, похоже, нет ответов на мои вопросы.
Я вполне мог бы что-то пропустить в документации QuickBlox (или не знать что-то в отношении JavaScript).

Это относится к JavaScript SDK, так как я буду использовать его для реализации функции чата. Идея состоит в том, чтобы добавить функцию чата в веб-приложение, созданное с помощью Laravel.

Мой первый вопрос касается инициализации / авторизации. Кажется, очень небезопасно иметь ключи аутентификации QuickBlox в файле JavaScript, так как файл можно легко просмотреть с помощью опции просмотра исходного кода в браузере.
Как бы вы скрыли эту конфиденциальную информацию ??

Имея это в виду, я решил сделать это с помощью PHP. Используя пример кода из документации, я могу успешно получить токен сеанса. Затем я получил копию приложения чата из SDK и пытался интегрировать в него код PHP, чтобы вместо использования config.js он использовал мой php для получения токена и передачи его в QB.init. Но похоже, что не работает.
Приложение чата просто сидит там. Глядя на отладчик JS в Firebug, кажется, что выдается исключение: невозможно создать новый сеанс без учетных данных приложения. Что меня озадачивает, когда я получаю это через PHP? Почему он потерпит неудачу на стороне JavaScript?

Благодарю.

0

Решение

Замечательно! Я уже представил это как вопрос им:

https://github.com/QuickBlox/quickblox-javascript-sdk/issues/72

Для решения проблемы выполните следующие действия (это обходной путь):

QB.init(token, false, false, QBConfig);
QB.service.getSession().application_id = your_app_id;

И .. У меня есть идея для пиара, но на самом деле обходной путь подойдет.

РЕДАКТИРОВАТЬ:

Попробуйте следующее …

var QBConfig = {
chatProtocol: {
active: 2
},
debug: !true,
webrtc: {
answerTimeInterval: 30,
dialingTimeInterval: 5
},
creds: {
appId: YOUR_APP_ID
}
};

QB.init(token, false, false, QBConfig);
QB.service.getSession().application_id = your_app_id; // probably still need this too

Теперь попробуйте это (при условии, что вы используете оригинальный JS из примера):

function createSession() {
//QB.createSession(caller, function(err, res) {
//if (res) {
connectChat();
// }
//});
}
1

Другие решения

Вы правы с надстройкой PHP. Это может помочь вам защитить ваши учетные данные QB.

Другим решением является создание собственного сценария, который будет создавать ваши учетные данные,
что-то вроде логики запутывания. А затем сверните этот скрипт, чтобы скрыть все логические детали.

Во всяком случае, если вы решили использовать QB.init ( «маркер») тогда вам не нужно использовать QB.createSession совсем. QB.init ( «маркер») используется для обхода QB.createSession вызов.

1

Выпуск Javascript SDK 1.17.1

http://quickblox.com/developers/Javascript#Framework_changelog

Теперь вы можете инициализировать SDK с помощью токена сеанса и идентификатора приложения:

QB.init('1b785b603a9ae88d9dfbd1fc0cca0335086927f1', 3451);
1
По вопросам рекламы [email protected]