mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
[feature/oauth] Add get_login_data to the auth_provider_interface
PHPBB3-11673
This commit is contained in:
parent
381e7c347b
commit
245e71e4e2
4 changed files with 50 additions and 3 deletions
|
@ -3367,6 +3367,26 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa
|
||||||
$s_hidden_fields['credential'] = $credential;
|
$s_hidden_fields['credential'] = $credential;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$auth_provider = $phpbb_container->get('auth.provider.' . $config['auth_method']);
|
||||||
|
|
||||||
|
$auth_provider_data = $auth_provider->get_login_data();
|
||||||
|
if ($auth_provider_data)
|
||||||
|
{
|
||||||
|
if (isset($auth_provider_data['VARS']))
|
||||||
|
{
|
||||||
|
$template->assign_vars($auth_provider_data['VARS']);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($auth_provider_data['BLOCK_VAR_NAME']))
|
||||||
|
{
|
||||||
|
$template->assign_block_vars($auth_provider_data['BLOCK_VAR_NAME'], $auth_provider_data['BLOCK_VARS']);
|
||||||
|
}
|
||||||
|
|
||||||
|
$template->assign_vars(array(
|
||||||
|
'PROVIDER_TEMPLATE_FILE' => $auth_provider_data['TEMPLATE_FILE'],
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
$oauth_login = ($config['auth_method'] == 'oauth') ? true : false;
|
$oauth_login = ($config['auth_method'] == 'oauth') ? true : false;
|
||||||
|
|
||||||
if ($oauth_login)
|
if ($oauth_login)
|
||||||
|
|
|
@ -54,6 +54,14 @@ abstract class phpbb_auth_provider_base implements phpbb_auth_provider_interface
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function get_login_data()
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -106,6 +106,27 @@ interface phpbb_auth_provider_interface
|
||||||
*/
|
*/
|
||||||
public function get_acp_template($new_config);
|
public function get_acp_template($new_config);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns an array of data necessary to build custom elements on the login
|
||||||
|
* form.
|
||||||
|
*
|
||||||
|
* @return array|null If this function is not implemented on an auth
|
||||||
|
* provider then it returns null. If it is implemented
|
||||||
|
* it will return an array of up to four elements of
|
||||||
|
* which only 'TEMPLATE_FILE'. If 'BLOCK_VAR_NAME' is
|
||||||
|
* present then 'BLOCK_VARS' must also be present in
|
||||||
|
* the array. The fourth element 'VARS' is also
|
||||||
|
* optional. The array, with all four elements present
|
||||||
|
* looks like the following:
|
||||||
|
* array(
|
||||||
|
* 'TEMPLATE_FILE' => string,
|
||||||
|
* 'BLOCK_VAR_NAME' => string,
|
||||||
|
* 'BLOCK_VARS' => array(...),
|
||||||
|
* 'VARS' => array(...),
|
||||||
|
* )
|
||||||
|
*/
|
||||||
|
public function get_login_data();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Performs additional actions during logout.
|
* Performs additional actions during logout.
|
||||||
*
|
*
|
||||||
|
|
|
@ -274,9 +274,7 @@ class phpbb_auth_provider_oauth extends phpbb_auth_provider_base
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an array of login data for all enabled OAuth services.
|
* {@inheritdoc}
|
||||||
*
|
|
||||||
* @return array
|
|
||||||
*/
|
*/
|
||||||
public function get_login_data()
|
public function get_login_data()
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Reference in a new issue