diff --git a/core/includes/install.core.inc b/core/includes/install.core.inc index d335e651d78cf4ca962aec698e291767c766d6e2..616637c667a2500c04b0ac541776002e16b5323d 100644 --- a/core/includes/install.core.inc +++ b/core/includes/install.core.inc @@ -2045,6 +2045,12 @@ function install_finished(&$install_state) { $snapshot = \Drupal::service('config.storage.snapshot'); \Drupal::service('config.manager')->createSnapshot($active, $snapshot); + // Load current user and perform final login tasks. + // This has to be done after drupal_flush_all_caches() + // to avoid session regeneration. + $account = user_load(1); + user_login_finalize($account); + // @todo Temporary hack to satisfy PIFR. // @see https://drupal.org/node/1317548 $pifr_assertion = '<span style="display: none;">Drupal installation complete</span>'; @@ -2578,9 +2584,6 @@ function install_configure_form_submit($form, &$form_state) { $account->pass = $form_state['values']['account']['pass']; $account->name = $form_state['values']['account']['name']; $account->save(); - // Load current user and perform final login tasks. - $account = user_load(1); - user_login_finalize($account); // Record when this install ran. \Drupal::state()->set('install_time', $_SERVER['REQUEST_TIME']);