Я пытаюсь интегрировать службы IP сообщениями Twilio, и я пытаюсь следовать их руководство здесь: https://www.twilio.com/docs/api/ip-messaging/guides/identityTwilio Twilsock соединение закрыто сервером
Я использую AngularJS передний конец с Node.js бэкэндом.
Вот мой бэкенд вызов, который выполняет отлично:
getTwilioToken: function (request, response) {
var appName = 'AppTwilio';
var identity = request.body.id;
var deviceId = request.body.device;
// Create a unique ID for the client on their current device
var endpointId = appName + ':' + identity + ':' + deviceId;
// Create a "grant" which enables a client to use IPM as a given user,
// on a given device
var ipmGrant = new IpMessagingGrant({
serviceSid: "[MY_PROD_SID]",
endpointId: endpointId
});
// Create an access token which we will sign and return to the client,
// containing the grant we just created
var token = new AccessToken(
"[MY PROD ACCOUNT SID]",
"[MY PROD ACCOUNT SID]",
"[Prod Auth Token]"
);
token.addGrant(ipmGrant);
token.identity = identity;
// Serialize the token to a JWT string and include it in a JSON response
response.send({
identity: identity,
token: token.toJwt()
});
}
Вот мой AngularJS материал:
Это в моем MessagingService это выполняет прекрасно
getTwilioToken: function (userid, devicekey) {
return $http.post(apiUrl + '/getTwilioToken', { id: userid, device: devicekey }).then(function (response) {
deferred.resolve(response.data);
return deferred.promise;
});
}
В мой контроллер у меня есть подключенной к телефонной линии:
$scope.getTwilioToken = function() {
var userid = uuid.v4(); //just creating a dummy id for now
var device = uuid.v4(); //just creating dummy device for now
MessagingService.getTwilioToken(userid, device).then(function (response) {
$scope.accessManager = new Twilio.AccessManager(response.token);
$scope.messagingClient = new Twilio.IPMessaging.Client($scope.accessManager);
});
}
Вот мой ответ я получаю назад от моего сервера/Twilio, который включает в себя маркер:
{
"identity": "1f778bb6-2b3f-4008-9697-4733cf7870c5",
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImN0eSI6InR3aWxpby1mcGE7dj0xIn0.eyJqdGkiOiJBQzg1ZTNkYTYzZjNiY2MxNTY3ODdjMDA5NzdjZTBhNDA5LTE0NjM2NzM0MDYiLCJncmFudHMiOnsiaWRlbnRpdHkiOiIxZjc3OGJiNi0yYjNmLTQwMDgtOTY5Ny00NzMzY2Y3ODcwYzUiLCJpcF9tZXNzYWdpbmciOnsic2VydmljZV9zaWQiOiJJUzMyNjhlN2NhYWYxZDRlYTk5MGM5NWZkMTRkNWQ0NDM0IiwiZW5kcG9pbnRfaWQiOiJSaXNlclVUd2lsaW86MWY3NzhiYjYtMmIzZi00MDA4LTk2OTctNDczM2NmNzg3MGM1Ojc4NzcxNDc3LWJmZjktNDU3NC04Njc4LWQwOGZiM2Q0YjcxMCJ9fSwiaWF0IjoxNDYzNjczNDA2LCJleHAiOjE0NjM2NzcwMDYsImlzcyI6IkFDODVlM2RhNjNmM2JjYzE1Njc4N2MwMDk3N2NlMGE0MDkiLCJzdWIiOiJBQzg1ZTNkYTYzZjNiY2MxNTY3ODdjMDA5NzdjZTBhNDA5In0.XIUAGoyO8EtKZOfzbRe4qo-1wXddiMGswidbakUE2ZA"
}
Я получаю эти ошибки в браузере в этой точке:
Twilio-IP-сообщений .min.js: 151 Соединение Twilsock закрыто сервером [] i._onSocketRejected @ twilio-ip-messaging.min.js: 151x.create.callbacks.onsocketRejected @ twilio-ip-messaging.min.js: 151e.doCallback @ twilio -ip-messaging.min.js: 235e.afterThisEvent @ twilio-ip-messaging.min.js: 235e.afterEvent @ twilio-ip-messaging.min.js: 235transition @ twilio-ip-messaging.min.js: 235 (анонимная функция) @ twilio-ip-messaging.min.js: 235r.onmessage @ twilio-ip-messaging.mi n.js: 151 cds.twilio.com/v2/Streams:1 POST https://cds.twilio.com/v2/Streams 403 (запрещено)
Twilio-IP-messaging.min.js: 150 IPMSG: Не удалось создать объект сеанса {статус: 403, описание: «Запрещено», тело: «{« сообщение »:« Доступ запрещен »,« статус »: 403}»} (анонимная функция) @ twilio-ip-messaging.min.js: 150s @ twilio-ip-messaging. min.js: 153 (анонимная функция) @ twilio-ip-messaging.min.js: 153c @ twilio-ip-messaging.min.js: 152Mutation (async) n @ twilio-ip-messaging.min.js: 152 (анонимная функция) @ twilio-ip-messaging.min.js: 152I @ twilio-ip-messaging.min.js: 153P @ twilio-ip-messaging.min.js: 153 (анонимная функция) @ twilio-ip-messaging. min.js: 152o.onreadystatechange @ twilio-ip-messaging.min.js: 151XMLHttpRequest.send (async) (анонимная функция) @ twilio-ip-messaging.min.js: 151w @ twilio-ip-messaging.min.js : 153o @ twilio-ip-messaging.min.js: 151l .post @ twilio-ip-messaging.min.js: 151f.post @ twilio-ip-messaging.min.js: 151i.post @ twilio-ip-messaging.min.js: 149i.createStream @ twilio-ip-messaging .min.js: 149i.initialize @ twilio-ip-messaging.min.js: 150i @ twilio-ip-messaging.min.js: 150 (анонимная функция) @ messagingController.js: 32 (анонимная функция) @ угловая. js: 15961n. $ eval @ angular.js: 17229n. $ digest @ angular.js: 17045n. $ apply @ angular.js: 17337l @ angular.js: 11572H @ angular.js: 11778u.onload @ angular.js: 11711XMLHttpRequest .send (async) (анонимная функция) @ angular.js: 11756m @ angular.js: 11517g @ angular.js: 11227 (анонимная функция) @ angular.js: 15961n. $ eval @ angular.js: 17229n. $ digest @ angular.js: 17045n. $ apply @ angular.js: 17337 (анонимная функция) @ angular.js: 25023n.event.dispatch @ jquery.min.js: 3r.handle @ jquery.min.js: 3 twilio-ip -messaging.min.js: 153 Отказ от необработанного обещания Объект {status: 403, description: "Forbidden", body: "{" message ":" Access f orbidden "," status ": 403}"} (анонимная функция) @ twilio-ip-messaging.min.js: 153R @ twilio-ip-messaging.min.js: 153 (анонимная функция) @ twilio-ip-messaging. min.js: 153t.exports @ twilio-ip-messaging.min.js: 152m. (анонимная функция) @ twilio-ip-messaging.min.js: 152_ @ twilio-ip-messaging.min.js: 152v @ twilio -ip-messaging.min.js: 152 twilio-ip-messaging.min.js: 153 Отказ от необработанного обещания Объект {статус: 403, описание: "Запрещено", тело: "{" сообщение ":" Доступ запрещен "," "status": 403} "} (анонимная функция) @ twilio-ip-messaging.min.js: 153R @ twilio-ip-messaging.min.js: 153 (анонимная функция) @ twilio-ip-messaging.min.js: 153t.exports @ twilio-ip-messaging.min.js: 152m. (анонимная функция) @ twilio-ip-messaging.min.js: 152_ @ twilio-ip-messaging.min.js: 152v @ twilio-ip-messaging.min.js: 152 twilio-ip-messaging.min.js: 153 Необработанное обещание (анонимная функция) @ twilio-ip-messaging.min.js: 153R (анонимная функция) @ twilio-ip-messaging.min.js: 153 (анонимная функция) @ twilio-ip-messaging.min.js: 153t.exports @ twilio-ip-messaging.min.js: 152m. (анонимная функция) @ twilio- ip-messaging.min.js: 152_ @ twilio-ip-messaging.min.js: 152v @ twilio-ip-messaging.min.js: 152 twilio-ip-messaging.min.js: 153 Отказ от необработанного обещания Объект { статус: 403, описание: «Запрещено», тело: «{« сообщение »:« Доступ запрещен »,« статус »: 403}»} (анонимная функция) @ twilio-ip-messaging.min.js: 153R @ twilio-ip-messaging.min.js: 153 (анонимная функция) @ twilio-ip-messaging.min.js: 153t.exports @ twilio-ip-messaging.min.js: 152m. (анонимная функция) @ twilio- ip-messaging.min.js: 152_ @ twilio-ip-messaging.min.js: 152v @ twilio-ip-messaging.min.js: 152 twilio-ip-messaging.min.js: 153 Отказ от необработанного обещания Объект { статус: 403, описание: «Запрещено», тело: «{« сообщение »:« Доступ запрещен »,« статус »: 403}»} (анонимная функция) @ twilio-ip-messaging.min.js: 153R @ twilio- ip-messaging.min.js: 153 (анонимная функция) @ twilio-ip-messaging.min.js: 153t.exports @ twilio-ip-messaging.min.js: 152m. (анонимная функция) @ twilio-ip-messaging .min.js: 152_ @ twilio-ip-messaging.min.js: 152v @ twilio-ip-messaging.min.js: 152 twilio-ip-messaging.min.js: 153 Отказ от необработанных обещаний Объект {status: 403 , описание: «Запрещено», тело: «{« сообщение »:« Доступ запрещен »,« статус »: 403}»} (анонимная функция) @ twilio-ip-messaging.min.js: 153R @ twilio -ip-messaging.min.js: 153 (анонимная функция) @ twilio-ip-messaging.min.js: 153t.exports @ twilio-ip-messaging.min.js: 152m. (анонимная функция) @ twilio-ip- messaging.min.js: 152_ @ twilio-ip-messaging.min.js: 152v @ twilio-ip-messaging.min.js: 152