- Timestamp:
- Apr 20, 2008, 1:44:59 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
OpenPNE/branches/work/ogawa/openid/webapp/modules/openid/page/auth.php
r6669 r6675 1 1 <?php 2 2 /** 3 * @copyright 2005-200 7OpenPNE Project3 * @copyright 2005-2008 OpenPNE Project 4 4 * @license http://www.php.net/license/3_01.txt PHP License 3.01 5 5 */ 6 7 require_once 'Auth/OpenID/Server.php'; 8 require_once 'Auth/OpenID/FileStore.php'; 6 9 7 10 class openid_page_auth extends OpenPNE_Action … … 11 14 return false; 12 15 } 13 16 14 17 function execute($requests) 15 18 { 16 require_once 'Auth/OpenID.php'; 17 require_once 'Auth/OpenID/Association.php'; 18 require_once 'Auth/OpenID/HMACSHA1.php'; 19 require_once 'Auth/OpenID/Consumer.php'; 20 require_once 'Auth/OpenID/Server.php'; 21 require_once 'Auth/OpenID/ServerRequest.php'; 22 require_once 'Auth/OpenID/FileStore.php'; 23 24 $server =& new Auth_OpenID_Server(new Auth_OpenID_FileStore(OPENPNE_VAR_DIR . '/tmp')); 25 $request = $_REQUEST; 26 $request = Auth_OpenID::fixArgs($request); 27 $request = $server->decodeRequest($request); 28 29 30 if ($_REQUEST['openid_mode'] == "associate") { 31 if (in_array($request->mode, 32 array('checkid_immediate', 'checkid_setup'))) { 19 $oserver =& new Auth_OpenID_Server(new Auth_OpenID_FileStore(OPENPNE_VAR_DIR . '/tmp')); 20 $request = $oserver->decodeRequest(); 33 21 34 $response =& $request->answer(true); 35 $sreg = getSreg($request->identity); 36 if (is_array($sreg)) { 37 foreach ($sreg as $k => $v) { 38 $response->addField('sreg', $k, 39 $v); 40 } 41 } 42 } else { 43 $response =& $server->handleRequest($request); 22 $response = null; 23 if (in_array($request->mode, array('checkid_immediate', 'checkid_setup'))) { 24 if ($request->immediate) { 25 $response = $request->answer(false); 44 26 } 45 $response =& $server->handleRequest($request); 46 $webresponse =& $server->encodeResponse($response); 47 27 } else { 28 $response = $oserver->handleRequest($request); 29 } 30 31 if ($response) { 32 $webresponse = $oserver->encodeResponse($response); 33 48 34 foreach ($webresponse->headers as $k => $v) { 49 35 header("$k: $v"); 50 36 } 51 52 header(header_connection_close); 53 print $webresponse->body; 37 header('Connection: close'); 38 echo $webresponse->body; 54 39 exit; 55 40 } 56 41 57 42 if ($auth = openpne_ext_search("openid/auth.inc")) { 58 43 require_once $auth; … … 60 45 require_once 'auth.inc'; 61 46 } 47 62 48 if ($requests['id'] != $GLOBALS['AUTH']->uid()) { 63 $GLOBALS['AUTH']->logout(); 64 $parts = explode('/', $_SERVER['SCRIPT_NAME']); 65 $_REQUEST['login_params'] = $_SERVER['QUERY_STRING']; 66 if ($_SERVER['REQUEST_METHOD'] == 'POST') { 67 $_POST = array('login_params' => $_SERVER['QUERY_STRING']); 68 } else { 69 $_GET = array('login_params' => $_SERVER['QUERY_STRING']); 70 } 71 openpne_forward('ktai', 'page', "page_o_login"); 72 exit; 49 exit('error'); 73 50 } 74 51 75 52 $_SESSION['request'] = serialize($request); 76 $this->set('id', $requests['id']);77 53 return 'success'; 78 54 }
Note: See TracChangeset
for help on using the changeset viewer.