mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-27 21:58:52 +00:00
[ticket/13248] Use auth provider collection for getting provider
PHPBB3-13248
This commit is contained in:
parent
f3588c66ec
commit
6b057e026c
2 changed files with 27 additions and 3 deletions
|
@ -927,11 +927,11 @@ class auth
|
||||||
*/
|
*/
|
||||||
function login($username, $password, $autologin = false, $viewonline = 1, $admin = 0)
|
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)
|
if ($provider)
|
||||||
{
|
{
|
||||||
$login = $provider->login($username, $password);
|
$login = $provider->login($username, $password);
|
||||||
|
|
|
@ -33,6 +33,30 @@ class phpbb_functional_auth_test extends phpbb_functional_test_case
|
||||||
$this->assertContains('anothertestuser', $crawler->filter('#username_logged_in')->text());
|
$this->assertContains('anothertestuser', $crawler->filter('#username_logged_in')->text());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @dependsOn test_login_other
|
||||||
|
*/
|
||||||
|
public function test_login_ucp_other_auth_provider()
|
||||||
|
{
|
||||||
|
global $cache, $config;
|
||||||
|
$cache = new phpbb_mock_null_cache;
|
||||||
|
$db = $this->get_db();
|
||||||
|
$sql = 'UPDATE ' . CONFIG_TABLE . " SET config_value = 'foobar' WHERE config_name = 'auth_method'";
|
||||||
|
$db->sql_query($sql);
|
||||||
|
$crawler = self::request('GET', 'ucp.php?mode=login');
|
||||||
|
$form = $crawler->selectButton('Login')->form();
|
||||||
|
$form->setValues(array(
|
||||||
|
'username' => 'anothertestuser',
|
||||||
|
'password' => str_repeat('anothertestuser', 2),
|
||||||
|
));
|
||||||
|
$config['auth_method'] = 'foobar';
|
||||||
|
$crawler = self::submit($form);
|
||||||
|
$this->assertContains('anothertestuser', $crawler->filter('#username_logged_in')->text());
|
||||||
|
$sql = 'UPDATE ' . CONFIG_TABLE . " SET config_value = 'db' WHERE config_name = 'auth_method'";
|
||||||
|
$db->sql_query($sql);
|
||||||
|
$config['auth_method'] = 'db';
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @depends test_login
|
* @depends test_login
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Add table
Reference in a new issue