Fixed some issues in server connected to login

master
Håvar Aambø Fosstveit 2018-10-31 11:55:36 +01:00
parent b56cbe7ae2
commit f39b315e1c
2 changed files with 32 additions and 11 deletions

View File

@ -133,9 +133,33 @@ class Room extends EventEmitter
this._lastN.push(peerName); this._lastN.push(peerName);
} }
this._signalingPeers.set(peerName, signalingPeer);
this._handleSignalingPeer(signalingPeer); this._handleSignalingPeer(signalingPeer);
} }
authCallback(data)
{
logger.debug('authCallback()');
const {
peerName,
name,
picture
} = data;
const signalingPeer = this._signalingPeers.get(peerName);
if (signalingPeer)
{
signalingPeer.socket.emit('auth',
{
name : name,
picture : picture
});
}
}
_handleMediaRoom() _handleMediaRoom()
{ {
logger.debug('_handleMediaRoom()'); logger.debug('_handleMediaRoom()');

View File

@ -70,26 +70,23 @@ dataporten.setupLogout(app, '/logout');
app.get( app.get(
'/auth-callback', '/auth-callback',
dataporten.passport.authenticate('dataporten', { failureRedirect: '/login' }), dataporten.passport.authenticate('dataporten', { failureRedirect: '/login' }),
(req, res) => (req, res) =>
{ {
const state = JSON.parse(base64.decode(req.query.state)); const state = JSON.parse(base64.decode(req.query.state));
if (rooms.has(state.roomId)) if (rooms.has(state.roomId))
{ {
const room = rooms.get(state.roomId)._protooRoom; const data =
if (room.hasPeer(state.peerName))
{ {
const peer = room.getPeer(state.peerName); peerName : state.peerName,
peer.send('auth', {
name : req.user.data.displayName, name : req.user.data.displayName,
picture : req.user.data.photos[0] picture : req.user.data.photos[0]
}); };
}
const room = rooms.get(state.roomId);
room.authCallback(data);
} }
res.send(''); res.send('');