diff options
Diffstat (limited to 'phpBB/phpbb')
| -rw-r--r-- | phpBB/phpbb/auth/auth.php | 6 | ||||
| -rw-r--r-- | phpBB/phpbb/auth/provider_collection.php | 8 | 
2 files changed, 8 insertions, 6 deletions
| diff --git a/phpBB/phpbb/auth/auth.php b/phpBB/phpbb/auth/auth.php index 38755ccf99..b59f0e60ec 100644 --- a/phpBB/phpbb/auth/auth.php +++ b/phpBB/phpbb/auth/auth.php @@ -927,11 +927,11 @@ class auth  	*/  	function login($username, $password, $autologin = false, $viewonline = 1, $admin = 0)  	{ -		global $config, $db, $user, $phpbb_root_path, $phpEx, $phpbb_container; +		global $db, $user, $phpbb_root_path, $phpEx, $phpbb_container; -		$method = trim(basename($config['auth_method'])); +		$provider_collection = $phpbb_container->get('auth.provider_collection'); -		$provider = $phpbb_container->get('auth.provider.' . $method); +		$provider = $provider_collection->get_provider();  		if ($provider)  		{  			$login = $provider->login($username, $password); diff --git a/phpBB/phpbb/auth/provider_collection.php b/phpBB/phpbb/auth/provider_collection.php index a74a2135dc..8e7e9e2cc1 100644 --- a/phpBB/phpbb/auth/provider_collection.php +++ b/phpBB/phpbb/auth/provider_collection.php @@ -38,6 +38,7 @@ class provider_collection extends \phpbb\di\service_collection  	/**  	* Get an auth provider.  	* +	* @param string $provider_name The name of the auth provider  	* @return object	Default auth provider selected in config if it  	*			does exist. Otherwise the standard db auth  	*			provider. @@ -46,11 +47,12 @@ class provider_collection extends \phpbb\di\service_collection  	*			auth provider exist. The db auth provider  	*			should always exist in a phpBB installation.  	*/ -	public function get_provider() +	public function get_provider($provider_name = '')  	{ -		if ($this->offsetExists('auth.provider.' . basename(trim($this->config['auth_method'])))) +		$provider_name = ($provider_name !== '') ? $provider_name : basename(trim($this->config['auth_method'])); +		if ($this->offsetExists('auth.provider.' . $provider_name))  		{ -			return $this->offsetGet('auth.provider.' . basename(trim($this->config['auth_method']))); +			return $this->offsetGet('auth.provider.' . $provider_name);  		}  		// Revert to db auth provider if selected method does not exist  		else if ($this->offsetExists('auth.provider.db')) | 
