代码拉取完成,页面将自动刷新
同步操作将从 V神/instant-push 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
var uuid = require('node-uuid');
var dateHelper = require('./helper/dateHelper.js');
//######## commonjs interface #################
module.exports = function authContructor(app, redisHelper, config) {
/** 三种用例:
* 1. 只验证应用:appId, secret, username, deviceId
* 2. 验证用户身份:appId, secret, deviceId, username, password
* 3. 通过token验证用户身份:appId, secret, deviceId, username, accessToken(过滤了一遍请求权限)
*/
app.post('/instant/authenticate', function(req, res, next) {
console.log('\nAuth.----------------------------------------------> ' + dateHelper.getNowFormatTime());
console.log('Request:request coming:' + req.ip);
console.log('Request body:');
console.log(req.body);
// 验证设备,唯一标识 Hash(deviceId_pushToken, push_Token)
var deviceId = req.body.deviceId;
var username = req.body.username;
if ( /*config.APP_ID !== req.body.appId || config.APP_SECRET !== req.body.secret ||*/ deviceId === undefined || deviceId === '' || username === undefined || username === '') {
res.status(401).json({
code: 401,
status: 'Unauthorized',
message: 'app validation fail. please check query params'
});
return;
};
// 生成token令牌
var push_Token = uuid.v4();
//################## 缓存token鉴权令牌 ##################
redisHelper.set(username + deviceId + '_pushToken', push_Token + '@' + Date.now(), '', function(error, reply) {
if (!error) {
console.log('resdis save [token]...' + push_Token);
res.status(200).json({
"result": true,
"host": '121.199.39.92',
"port": 8868,
"push_Token": push_Token,
'expired': dateHelper.getNowFormatTime(),
'expired_day': 1
}); // 缓存一天
} else {
console.log('resdis set error [token]...' + reply);
next(new Error(JSON.stringify({
code: 500,
result: false,
status: 'server exception',
message: 'server exception. redis net exc that maybe connection disable.'
})));
}
});
});
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。