fix(plex): Check Plex server access on user import (#955)

This commit is contained in:
TheCatLady
2021-02-18 10:14:37 -05:00
committed by GitHub
parent bddea7ab24
commit bdb3cb2025
3 changed files with 9 additions and 5 deletions

View File

@@ -212,7 +212,7 @@ class PlexTvAPI {
return parsedXml; return parsedXml;
} }
public async checkUserAccess(authUser: PlexUser): Promise<boolean> { public async checkUserAccess(userId: number): Promise<boolean> {
const settings = getSettings(); const settings = getSettings();
try { try {
@@ -224,11 +224,11 @@ class PlexTvAPI {
const users = friends.MediaContainer.User; const users = friends.MediaContainer.User;
const user = users.find((u) => Number(u.$.id) === authUser.id); const user = users.find((u) => Number(u.$.id) === userId);
if (!user) { if (!user) {
throw new Error( throw new Error(
'This user does not exist on the main plex accounts shared list' "This user does not exist on the main Plex account's shared list"
); );
} }

View File

@@ -87,7 +87,7 @@ authRoutes.post('/login', async (req, res, next) => {
}); });
const mainPlexTv = new PlexTvAPI(mainUser.plexToken ?? ''); const mainPlexTv = new PlexTvAPI(mainUser.plexToken ?? '');
if (await mainPlexTv.checkUserAccess(account)) { if (await mainPlexTv.checkUserAccess(account.id)) {
user = new User({ user = new User({
email: account.email, email: account.email,
plexUsername: account.username, plexUsername: account.username,

View File

@@ -333,7 +333,11 @@ router.post(
await userRepository.save(user); await userRepository.save(user);
} else { } else {
// Check to make sure it's a real account // Check to make sure it's a real account
if (account.email && account.username) { if (
account.email &&
account.username &&
(await mainPlexTv.checkUserAccess(Number(account.id)))
) {
const newUser = new User({ const newUser = new User({
plexUsername: account.username, plexUsername: account.username,
email: account.email, email: account.email,