Mercurial > defr > drupal > core
comparison modules/openid/openid.module @ 19:3edae6ecd6c6 6.9
Drupal 6.9
author | Franck Deroche <franck@defr.org> |
---|---|
date | Thu, 15 Jan 2009 10:15:56 +0100 |
parents | fff6d4c8c043 |
children |
comparison
equal
deleted
inserted
replaced
18:f5131a9cd9e5 | 19:3edae6ecd6c6 |
---|---|
1 <?php | 1 <?php |
2 // $Id: openid.module,v 1.19.2.3 2008/07/09 21:48:28 goba Exp $ | 2 // $Id: openid.module,v 1.19.2.4 2009/01/14 21:36:16 goba Exp $ |
3 | 3 |
4 /** | 4 /** |
5 * @file | 5 * @file |
6 * Implement OpenID Relying Party support for Drupal | 6 * Implement OpenID Relying Party support for Drupal |
7 */ | 7 */ |
317 $services[] = array('uri' => $uri, 'delegate' => $delegate, 'version' => $version); | 317 $services[] = array('uri' => $uri, 'delegate' => $delegate, 'version' => $version); |
318 } | 318 } |
319 } | 319 } |
320 } | 320 } |
321 } | 321 } |
322 if (!$services) { | |
323 module_invoke('system', 'check_http_request'); | |
324 } | |
325 return $services; | 322 return $services; |
326 } | 323 } |
327 | 324 |
328 /** | 325 /** |
329 * Attempt to create a shared secret with the OpenID Provider. | 326 * Attempt to create a shared secret with the OpenID Provider. |
351 $assoc_request = openid_association_request($public); | 348 $assoc_request = openid_association_request($public); |
352 $assoc_message = _openid_encode_message(_openid_create_message($assoc_request)); | 349 $assoc_message = _openid_encode_message(_openid_create_message($assoc_request)); |
353 $assoc_headers = array('Content-Type' => 'application/x-www-form-urlencoded; charset=utf-8'); | 350 $assoc_headers = array('Content-Type' => 'application/x-www-form-urlencoded; charset=utf-8'); |
354 $assoc_result = drupal_http_request($op_endpoint, $assoc_headers, 'POST', $assoc_message); | 351 $assoc_result = drupal_http_request($op_endpoint, $assoc_headers, 'POST', $assoc_message); |
355 if (isset($assoc_result->error)) { | 352 if (isset($assoc_result->error)) { |
356 module_invoke('system', 'check_http_request'); | |
357 return FALSE; | 353 return FALSE; |
358 } | 354 } |
359 | 355 |
360 $assoc_response = _openid_parse_message($assoc_result->data); | 356 $assoc_response = _openid_parse_message($assoc_result->data); |
361 if (isset($assoc_response['mode']) && $assoc_response['mode'] == 'error') { | 357 if (isset($assoc_response['mode']) && $assoc_response['mode'] == 'error') { |
362 module_invoke('system', 'check_http_request'); | |
363 return FALSE; | 358 return FALSE; |
364 } | 359 } |
365 | 360 |
366 if ($assoc_response['session_type'] == 'DH-SHA1') { | 361 if ($assoc_response['session_type'] == 'DH-SHA1') { |
367 $spub = _openid_dh_base64_to_long($assoc_response['dh_server_public']); | 362 $spub = _openid_dh_base64_to_long($assoc_response['dh_server_public']); |
522 else { | 517 else { |
523 $valid = FALSE; | 518 $valid = FALSE; |
524 } | 519 } |
525 } | 520 } |
526 } | 521 } |
527 if (!$valid) { | |
528 module_invoke('system', 'check_http_request'); | |
529 } | |
530 return $valid; | 522 return $valid; |
531 } | 523 } |