]> gitweb.fluxo.info Git - semanticscuttle.git/commitdiff
make external login work when user changed password externally
authorcweiske <cweiske@b3834d28-1941-0410-a4f8-b48e95affb8f>
Fri, 5 Feb 2010 18:42:38 +0000 (18:42 +0000)
committercweiske <cweiske@b3834d28-1941-0410-a4f8-b48e95affb8f>
Fri, 5 Feb 2010 18:42:38 +0000 (18:42 +0000)
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@629 b3834d28-1941-0410-a4f8-b48e95affb8f

src/SemanticScuttle/Service/AuthUser.php

index a293af5ef415f68f1f9bfa57bb8b08c2ff261db9..0fc0902d7695aacb1cd05d2c0ecb72ca0ece99da 100644 (file)
@@ -160,6 +160,19 @@ class SemanticScuttle_Service_AuthUser extends SemanticScuttle_Service_User
         }
 
         //utilize real login method to get longtime cookie support etc.
+        $ok = parent::login($username, $password, $remember);
+        if ($ok) {
+            return $ok;
+        }
+
+        //user must have changed password in external auth.
+        //we need to update the local database.
+        $user = $this->getUserByUsername($username);
+        $this->_updateuser(
+            $user['uId'], 'password',
+            $this->sanitisePassword($password)
+        );
+
         return parent::login($username, $password, $remember);
     }
 
@@ -172,7 +185,7 @@ class SemanticScuttle_Service_AuthUser extends SemanticScuttle_Service_User
     * @param string $username Username to check
     * @param string $password Password to check
     *
-    * @return boolean If the user has been authenticated or not
+    * @return boolean If the user has been successfully authenticated or not
     */
     public function loginAuth($username, $password)
     {
@@ -193,8 +206,6 @@ class SemanticScuttle_Service_AuthUser extends SemanticScuttle_Service_User
                 $username . $GLOBALS['authEmailSuffix']
             );
         }
-        //FIXME: what if the user changed his password?
-        //FIXME: what if the user does not need an email domain?
 
         return true;
      }