From 3bdc88e37490530e7339c72c470df261fa2c76fb Mon Sep 17 00:00:00 2001 From: cweiske Date: Fri, 5 Feb 2010 18:42:38 +0000 Subject: make external login work when user changed password externally git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@629 b3834d28-1941-0410-a4f8-b48e95affb8f --- src/SemanticScuttle/Service/AuthUser.php | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'src/SemanticScuttle/Service') diff --git a/src/SemanticScuttle/Service/AuthUser.php b/src/SemanticScuttle/Service/AuthUser.php index a293af5..0fc0902 100644 --- a/src/SemanticScuttle/Service/AuthUser.php +++ b/src/SemanticScuttle/Service/AuthUser.php @@ -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; } -- cgit v1.2.3