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 }