Remove roles on logout
parent
9b8853f984
commit
43b218fb3a
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue