Remove roles on logout

auto_join_3.3
Håvar Aambø Fosstveit 2020-03-24 00:56:26 +01:00
parent 9b8853f984
commit 43b218fb3a
1 changed files with 17 additions and 0 deletions

View File

@ -18,6 +18,7 @@ const Peer = require('./lib/Peer');
const base64 = require('base-64');
const helmet = require('helmet');
const userRoles = require('./userRoles');
const {
loginHelper,
logoutHelper
@ -297,6 +298,19 @@ async function setupAuth()
// logout
app.get('/auth/logout', (req, res) =>
{
const { peerId } = req.session;
const peer = peers.get(peerId);
if (peer)
{
for (const role of peer.roles)
{
if (role !== userRoles.ALL)
peer.removeRole(role);
}
}
req.logout();
res.send(logoutHelper());
});
@ -311,6 +325,9 @@ async function setupAuth()
const { peerId, roomId } = state;
req.session.peerId = peerId;
req.session.roomId = roomId;
let peer = peers.get(peerId);
if (!peer) // User has no socket session yet, make temporary