1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-03-03 15:29:12 +01:00

[ticket/11838] OAuth registration from ucp_register

PHPBB3-11838
This commit is contained in:
Jakub Senko 2018-07-26 16:34:11 +02:00 committed by Marc Alexander
parent 3c2e75b52a
commit 3914515199
No known key found for this signature in database
GPG Key ID: 50E0D2423696F995
4 changed files with 38 additions and 1 deletions

View File

@ -602,6 +602,31 @@ class ucp_register
break;
}
/* @var $provider_collection \phpbb\auth\provider_collection */
$provider_collection = $phpbb_container->get('auth.provider_collection');
$auth_provider = $provider_collection->get_provider();
$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']))
{
foreach ($auth_provider_data['BLOCK_VARS'] as $block_vars)
{
$template->assign_block_vars($auth_provider_data['BLOCK_VAR_NAME'], $block_vars);
}
}
$template->assign_vars(array(
'PROVIDER_TEMPLATE_FILE' => $auth_provider_data['TEMPLATE_FILE'],
));
}
// Assign template vars for timezone select
phpbb_timezone_select($template, $user, $data['tz'], true);

View File

@ -449,6 +449,7 @@ $lang = array_merge($lang, array(
'RECIPIENT' => 'Recipient',
'RECIPIENTS' => 'Recipients',
'REGISTRATION' => 'Registration',
'OAUTH_REGISTRATION' => 'Registration using external services',
'RELEASE_MESSAGES' => '%sRelease all on-hold messages%s… they will be re-sorted into the appropriate folder if enough space is made available.',
'REMOVE_ADDRESS' => 'Remove address',
'REMOVE_SELECTED_BOOKMARKS' => 'Remove selected bookmarks',

View File

@ -423,7 +423,7 @@ class oauth extends \phpbb\auth\provider\base
if ($credentials['key'] && $credentials['secret'])
{
$actual_name = str_replace('auth.provider.oauth.service.', '', $service_name);
$redirect_url = build_url(false) . '&login=external&oauth_service=' . $actual_name;
$redirect_url = generate_board_url() . '/ucp.' . $this->php_ext . '?mode=login&login=external&oauth_service=' . $actual_name;
$login_data['BLOCK_VARS'][$service_name] = array(
'REDIRECT_URL' => redirect($redirect_url, true),
'SERVICE_NAME' => $this->user->lang['AUTH_PROVIDER_OAUTH_SERVICE_' . strtoupper($actual_name)],

View File

@ -12,6 +12,17 @@
}
</script>
<div class="panel">
<div class="inner">
<h2>{{ SITENAME }} - {{ lang('OAUTH_REGISTRATION') }}</h2>
{% if PROVIDER_TEMPLATE_FILE %}
{% include PROVIDER_TEMPLATE_FILE %}
{% endif %}
</div>
</div>
<form id="register" method="post" action="{S_UCP_ACTION}"{S_FORM_ENCTYPE}>
<div class="panel">