ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Ignore:
Timestamp:
Apr 20, 2008, 1:44:59 PM (13 years ago)
Author:
ogawa
Message:

#1762:2.0.1で動くよう修正

File:
1 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE/branches/work/ogawa/openid/webapp/modules/openid/page/auth.php

    r6669 r6675  
    11<?php
    22/**
    3  * @copyright 2005-2007 OpenPNE Project
     3 * @copyright 2005-2008 OpenPNE Project
    44 * @license   http://www.php.net/license/3_01.txt PHP License 3.01
    55 */
     6
     7require_once 'Auth/OpenID/Server.php';
     8require_once 'Auth/OpenID/FileStore.php';
    69
    710class openid_page_auth extends OpenPNE_Action
     
    1114        return false;
    1215    }
    13    
     16
    1417    function execute($requests)
    1518    {
    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();
    3321
    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);
    4426            }
    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
    4834            foreach ($webresponse->headers as $k => $v) {
    4935                header("$k: $v");
    5036            }
    51        
    52             header(header_connection_close);
    53             print $webresponse->body;
     37            header('Connection: close');
     38            echo $webresponse->body;
    5439            exit;
    5540        }
    56        
     41
    5742        if ($auth = openpne_ext_search("openid/auth.inc")) {
    5843            require_once $auth;
     
    6045            require_once 'auth.inc';
    6146        }
     47
    6248        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');
    7350        }
    74        
     51
    7552        $_SESSION['request'] = serialize($request);
    76         $this->set('id', $requests['id']);
    7753        return 'success';
    7854    }
Note: See TracChangeset for help on using the changeset viewer.