function openid_authentication_request in Drupal 7
Same name and namespace in other branches
- 6 modules/openid/openid.module \openid_authentication_request()
1 call to openid_authentication_request()
- openid_begin in modules/openid/openid.module
- The initial step of OpenID authentication responsible for the following:
File
- modules/openid/openid.module, line 746
- Implement OpenID Relying Party support for Drupal
Code
function openid_authentication_request($claimed_id, $identity, $return_to, $assoc_handle, $service) {
global $base_url;
module_load_include('inc', 'openid');
$request = array(
'openid.mode' => 'checkid_setup',
'openid.identity' => $identity,
'openid.assoc_handle' => $assoc_handle,
'openid.return_to' => $return_to,
);
if ($service['version'] == 2) {
$request['openid.ns'] = OPENID_NS_2_0;
$request['openid.claimed_id'] = $claimed_id;
$request['openid.realm'] = $base_url . '/';
}
else {
$request['openid.trust_root'] = $base_url . '/';
}
$request['openid.ns.sreg'] = OPENID_NS_SREG;
$request['openid.sreg.required'] = 'nickname,email';
if (in_array(OPENID_NS_AX, $service['types'])) {
$request['openid.ns.ax'] = OPENID_NS_AX;
$request['openid.ax.mode'] = 'fetch_request';
$request['openid.ax.required'] = 'mail_ao,name_ao,mail_son,name_son';
$request['openid.ax.type.mail_ao'] = 'http://axschema.org/contact/email';
$request['openid.ax.type.name_ao'] = 'http://axschema.org/namePerson/friendly';
$request['openid.ax.type.mail_son'] = 'http://schema.openid.net/contact/email';
$request['openid.ax.type.name_son'] = 'http://schema.openid.net/namePerson/friendly';
}
$request = array_merge($request, module_invoke_all('openid', 'request', $request));
$flattened_request = array();
foreach ($request as $key => $value) {
if (is_array($value)) {
$flattened_request[$key] = end($value);
}
else {
$flattened_request[$key] = $value;
}
}
return $flattened_request;
}