]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/lib/oauth-model.ts
parseQueryStringFilter cleanup
[github/Chocobozzz/PeerTube.git] / server / lib / oauth-model.ts
index 8d8a6d85e60bb9a9e92c93d88f089e02f2f7b513..136abd0c45746db4af8bebca9ce3deeb655903cd 100644 (file)
@@ -109,10 +109,14 @@ async function getUser (usernameOrEmail?: string, password?: string) {
     let user = await UserModel.loadByEmail(obj.user.email)
     if (!user) user = await createUserFromExternal(obj.pluginName, obj.user)
 
-    // This user does not belong to this plugin, skip it
-    if (user.pluginAuth !== obj.pluginName) return null
+    // If the user does not belongs to a plugin, it was created before its installation
+    // Then we just go through a regular login process
+    if (user.pluginAuth !== null) {
+      // This user does not belong to this plugin, skip it
+      if (user.pluginAuth !== obj.pluginName) return null
 
-    return user
+      return user
+    }
   }
 
   logger.debug('Getting User (username/email: ' + usernameOrEmail + ', password: ******).')
@@ -122,7 +126,7 @@ async function getUser (usernameOrEmail?: string, password?: string) {
   if (!user || user.pluginAuth !== null) return null
 
   const passwordMatch = await user.isPasswordMatch(password)
-  if (passwordMatch === false) return null
+  if (passwordMatch !== true) return null
 
   if (user.blocked) throw new AccessDeniedError('User is blocked.')