В этом я не нашел ничего полезного в Интернете, поэтому хочу поделиться.Как использовать авторизацию частного канала Pusher с Parse.com
3
A
ответ
6
На клиенте:
var pusher = new Pusher('your-app-key', {authTransport: 'parse'});
Pusher.authorizers.parse = function (socketId, callback) {
var pusherData = {
socket_id: socketId,
channel_name: this.channel.name
};
Parse.Cloud.run('authorizePusherChannel', pusherData, {
success: function (result) {
callback(false, JSON.parse(result));
},
error: function (error) {
callback(true, error);
}
});
};
На Разбор Облаке:
Parse.Cloud.define('authorizePusherChannel', function (request, response) {
if (!request.user) { response.error('User should be autenticated.'); }
var pusherAppKey = 'your-pusher-app-key';
var pusherAppSecret = 'your-pusher-app-secret';
var stringToSign = request.params.socket_id + ':' + request.params.channel_name;
var authToken = pusherAppKey + ':' + crypto.createHmac('sha256', pusherAppSecret).update(stringToSign). digest('hex');
response.success(JSON.stringify({auth:authToken}));
});
0
Pusher.authorizers.parse = function (socketId, callback) {
var pusherData = {
socket_id: socketId,
channel_name: this.channel.name
};
Parse.Cloud.run('authorizePusherChannel', pusherData, {
success: function (result) {
callback(false, JSON.parse(result));
},
error: function (error) {
callback(true, error);
+0
Какой смысл здесь? –
Я думаю, что есть часть здесь отсутствует, который устанавливает Authorizer использовать 'parse' один. – leggetter
@leggetter вы правы! Добавил его в ответ. Благодаря! –
Это не работает для меня. Вызывается конечная точка (подтверждается отладкой консоли синтаксического анализа). Ответ выглядит как действительный ключ с ключом с ключом ... Однако в консоли толкателя появляется ошибка: «Информация об аутентификации, необходимая для подписки на частный чат» – Kevin