Voting starts in March for the Drupal Association Board election.
I am using this module and Drupal as my OpenID server. However, when I upgrade it to Drupal7, I found that the SREG information(nickname, email) not passed to the Client. In Drupal6, I use a separate module to do that and that module does not have a Drupal 7 version. So I am looking into the code of OpenID provider and find that it is actually passing the SREG information. However, because namespace declaration is missing, so most consumer will not processing those SREG information.
Here is my solution:
In openid_provider.inc, I made this changes:
$response = array( 'openid.ns' => OPENID_NS_2_0, 'openid.mode' => 'id_res', 'openid.op_endpoint' => openid_provider_url('openid/provider'), 'openid.identity' => $identity, 'openid.claimed_id' => $identity, 'openid.return_to' => $request['openid.return_to'], 'openid.response_nonce' => _openid_provider_nonce(), 'openid.assoc_handle' => $assoc_handle, 'openid.sreg.nickname' => $user->name, 'openid.sreg.email' => $user->mail, 'openid.ns.sreg' => 'http://openid.net/extensions/sreg/1.1' );
In line 214, I append " 'openid.ns.sreg' => 'http://openid.net/extensions/sreg/1.1'" to the end of array, and now openid consumers will process those SREG information.