コード例 #1
0
ファイル: test_openid.php プロジェクト: fisherTW/stat-monitor
$authController = new authController();
$consumerService = new consumerService();
$errorController = new errorController();
$openid = $authController->getOpenidIdentity();
$SREG = $authController->getRPSREG();
$AX = $authController->getRPAX();
$consumer = $consumerService->getConsumer();
// step1 : 準備好驗證的request
$authRequest = $consumer->begin($openid);
$pape_request = new Auth_OpenID_PAPE_Request(array(PAPE_AUTH_PHISHING_RESISTANT));
//var_dump($authRequest);die;
// step2 : 準備SREG欄位並加入request
$_required = array('fullname', 'email');
//取得姓名、電子郵件及性別 , 'gender'
$_optional = array();
//生日 'dob'
$authRequest->addExtension($pape_request);
$sregRequest = $authController->getSregRequest($_required, $_optional);
$authRequest->addExtension($sregRequest);
// step3 : 準備AX欄位並加入request
//array(2) { [0]=> array(4) { ["type_uri"]=> string(45) "http://openid.edu.tw/axschema/school/titleStr" ["count"]=> string(1) "1" ["required"]=> string(1) "1" ["alias"]=> string(8) "titleStr" } [1]=> array(4) { ["type_uri"]=> string(41) "http://openid.edu.tw/axschema/school/role" ["count"]=> string(1) "1" ["required"]=> string(1) "0" ["alias"]=> string(4) "role" } }
$axAttributes = array(array('type_uri' => 'http://axschema.edu.tw/person/guid', 'count' => '1', 'required' => '1', 'alias' => 'guid'), array('type_uri' => 'http://openid.edu.tw/axschema/school/titleStr', 'count' => '1', 'required' => '1', 'alias' => 'titleStr'), array('type_uri' => 'http://axschema.kh.edu.tw/school/affairStr', 'count' => '1', 'required' => '1', 'alias' => 'affairStr'));
// 陣列元素的格式如後 : array('type_uri'=>'XXX', 'count'=>'1', 'required'=>'1', 'alias'=>'YYY')
if (!empty($axAttributes)) {
    $axRequest = $authController->getAXRequest($axAttributes);
    $authRequest->addExtension($axRequest);
}
//die;
// step4: 向OP發出準備好的request
$authController->sendRedirect($authRequest);