Index: openid.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/openid/openid.module,v retrieving revision 1.2.2.8 diff -u -r1.2.2.8 openid.module --- openid.module 9 Jul 2008 19:46:44 -0000 1.2.2.8 +++ openid.module 17 May 2009 12:32:43 -0000 @@ -136,7 +136,7 @@ if (empty($return_to)) { $return_to = url('', NULL, NULL, TRUE); } - return openid_begin($form_values['openid_identifier'], $return_to); + return openid_begin($form_values['openid_identifier'], $return_to, $form_values); } function openid_authentication_page() { @@ -195,7 +195,7 @@ } else { $return_to = url('user/'. arg(1) .'/openid', NULL, NULL, TRUE); - openid_begin($form_values['openid_identifier'], $return_to); + openid_begin($form_values['openid_identifier'], $return_to, $form_values); } } @@ -240,7 +240,7 @@ * @param $claimed_id The OpenID to authenticate * @param $return_to The endpoint to return to from the OpenID Provider */ -function openid_begin($claimed_id, $return_to = '') { +function openid_begin($claimed_id, $return_to = '', $form_values = array()) { include_once drupal_get_path('module', 'openid') .'/openid.inc'; $claimed_id = _openid_normalize($claimed_id); @@ -256,6 +256,9 @@ $_SESSION['openid']['service'] = $services[0]; // Store the claimed id $_SESSION['openid']['claimed_id'] = $claimed_id; + // Store the login form values so we can pass them to + // user_login_submit later. + $_SESSION['openid']['user_login_values'] = $form_values; // If bcmath is present, then create an association $assoc_handle = ''; @@ -473,7 +476,7 @@ if (!variable_get('user_email_verification', TRUE) || $account->login) { global $user; $user = $account; - user_login_submit('user_login', array()); + user_login_submit('user_login', $_SESSION['openid']['user_login_values']); } else { drupal_set_message(t('You must validate your email address for this account before logging in via OpenID'));