Skip to content

Commit 3ee6966

Browse files
authored
fix(local-login): remove automatic plex linking and reduce logout log verbosity (#2225)
Removed redundant Plex user discovery logic that applies to all media servers currently. This is now handled explicitly via linked accounts settings page. Also changed the successful logout log level from info to debug since its routine behaviour
1 parent 539d498 commit 3ee6966

1 file changed

Lines changed: 1 addition & 71 deletions

File tree

server/routes/auth.ts

Lines changed: 1 addition & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -626,76 +626,6 @@ authRoutes.post('/local', async (req, res, next) => {
626626
});
627627
}
628628

629-
const mainUser = await userRepository.findOneOrFail({
630-
select: { id: true, plexToken: true, plexId: true },
631-
where: { id: 1 },
632-
});
633-
const mainPlexTv = new PlexTvAPI(mainUser.plexToken ?? '');
634-
635-
if (!user.plexId) {
636-
try {
637-
const plexUsersResponse = await mainPlexTv.getUsers();
638-
const account = plexUsersResponse.MediaContainer.User.find(
639-
(account) =>
640-
account.$.email &&
641-
account.$.email.toLowerCase() === user.email.toLowerCase()
642-
)?.$;
643-
644-
if (
645-
account &&
646-
(await mainPlexTv.checkUserAccess(parseInt(account.id)))
647-
) {
648-
logger.info(
649-
'Found matching Plex user; updating user with Plex data',
650-
{
651-
label: 'API',
652-
ip: req.ip,
653-
email: body.email,
654-
userId: user.id,
655-
plexId: account.id,
656-
plexUsername: account.username,
657-
}
658-
);
659-
660-
user.plexId = parseInt(account.id);
661-
user.avatar = account.thumb;
662-
user.email = account.email;
663-
user.plexUsername = account.username;
664-
user.userType = UserType.PLEX;
665-
666-
await userRepository.save(user);
667-
}
668-
} catch (e) {
669-
logger.error('Something went wrong fetching Plex users', {
670-
label: 'API',
671-
errorMessage: e.message,
672-
});
673-
}
674-
}
675-
676-
if (
677-
user.plexId &&
678-
user.plexId !== mainUser.plexId &&
679-
!(await mainPlexTv.checkUserAccess(user.plexId))
680-
) {
681-
logger.warn(
682-
'Failed sign-in attempt from Plex user without access to the media server',
683-
{
684-
label: 'API',
685-
account: {
686-
ip: req.ip,
687-
email: body.email,
688-
userId: user.id,
689-
plexId: user.plexId,
690-
},
691-
}
692-
);
693-
return next({
694-
status: 403,
695-
message: 'Access denied.',
696-
});
697-
}
698-
699629
// Set logged in session
700630
if (user && req.session) {
701631
req.session.userId = user.id;
@@ -775,7 +705,7 @@ authRoutes.post('/logout', async (req, res, next) => {
775705
});
776706
return next({ status: 500, message: 'Failed to destroy session.' });
777707
}
778-
logger.info('Successfully logged out user', {
708+
logger.debug('Successfully logged out user', {
779709
label: 'Auth',
780710
userId,
781711
});

0 commit comments

Comments
 (0)