. * * @category Plugin * @package StatusNet * @author Craig Andrews * @copyright 2009 Free Software Foundation, Inc http://www.fsf.org * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @link http://status.net/ */ if (!defined('GNUSOCIAL')) { exit(1); } class EmailAuthenticationPlugin extends Plugin { const PLUGIN_VERSION = '2.0.0'; // $nickname for this plugin is the user's email address function onStartCheckPassword($nickname, $password, &$authenticatedUser) { if (!strpos($nickname, '@')) { return true; } $user = User::getKV('email', $nickname); if ($user instanceof User && $user->email === $nickname) { if (common_check_user($user->nickname, $password)) { $authenticatedUser = $user; return false; } } return true; } public function onPluginVersion(array &$versions): bool { $versions[] = array('name' => 'Email Authentication', 'version' => self::PLUGIN_VERSION, 'author' => 'Craig Andrews', 'homepage' => GNUSOCIAL_ENGINE_REPO_URL . 'tree/master/plugins/EmailAuthentication', 'rawdescription' => // TRANS: Plugin description. _m('The Email Authentication plugin allows users to login using their email address.')); return true; } }