我在服务器上运行opentok api时遇到1004错误,它在localhost上正常运行但是当我在服务器上运行相同的代码时,它给了我这个opentok_authentication_error。
我已经多次检查了apikey和serverkey,它们都是正确的,会话ID也是一样的。
我可以在localhost上发布和订阅会话,一切都在那里工作正常但是当我在服务器上上传我的网站并运行它时它给了我这个错误。
我也检查了生成的令牌值,它与opentok网站上生成的令牌值相同。
对于前端,我正在使用angular.js,我不知道我做错了什么,当它在localhost上正常工作时为什么在服务器上运行时会出现此错误。
server.js
Opentok = require('opentok');
var OTConfig = require('./config/otconfig');
var opentok = new Opentok(OTConfig.apiKey, OTConfig.secretKey);
var OT = require('./routes/opentok')(opentok, app);
路由/ opentk.js
var OT_config = require('../config/dbconfig');
var express = require('express');
var router = express.Router();
module.exports = function(opentok, app) {
app.post('/opentok/join', function(req, res) {
var token,
sessionId = req.body.ot_session,
tokenOptions = {};
tokenOptions.role = "publisher";
tokenOptions.data = "username=" + req.body.name;
tokenOptions.data += "courseId=" + req.body.course;
tokenOptions.data += "role=" + req.body.role;
// Generate a token.
token = opentok.generateToken(sessionId, tokenOptions);
res.send(token);
});
}
controller.js
var opent = opentokService.generateToken(sessionId);
opent.then(function(data) {
$rootScope.token = data.data;
});
opentok服务
return {
generateToken: function(id) {
let info = {
name: $rootScope.username,
id: id,
role: $rootScope.role,
ot_session: $rootScope.sessionId
}
return $http({
method: 'post',
url: '/opentok/join',
data: info
});
}
}