function plugin_openid_finish_auth($consumer) { global $vars, $_openid_msg; $obj_verify = new AuthOpenIdVerify(); $session_verify = $obj_verify->getSession(); //$session_verify['server_url'] //$session_verify['local_id'] $page = empty($session_verify['page']) ? '' : rawurldecode($session_verify['page']); $author = empty($session_verify['author']) ? '' : rawurldecode($session_verify['author']); $obj_verify->unsetSession(); $return_to = get_page_location_uri($page); $response = $consumer->complete($return_to); /* echo '<pre>'; var_dump($response); die(); */ switch ($response->status) { case Auth_OpenID_CANCEL: Utility::dieMessage($_openid_msg['err_cancel']); case Auth_OpenID_FAILURE: Utility::dieMessage($_openid_msg['err_failure'] . $response->message); case Auth_OpenID_SUCCESS: $sreg_resp = Auth_OpenID_SRegResponse::fromSuccessResponse($response); $sreg = $sreg_resp->contents(); // $sreg['email'], $sreg['nickname'], $sreg['fullname'] if (!isset($sreg['nickname'])) { if (PLUGIN_OPENID_NO_NICKNAME) { $sreg['nickname'] = 'anonymouse'; } else { Utility::dieMessage($_openid_msg['err_nickname']); } } $obj = new AuthOpenId(); $obj->response = $sreg; // その他の項目を引き渡す $obj->response['author'] = $author; $obj->response['local_id'] = !empty($response->endpoint->local_id) ? $response->endpoint->local_id : $response->endpoint->claimed_id; $obj->response['identity_url'] = $response->getDisplayIdentifier(); $obj->setSession(); break; } // オリジナルの画面に戻る header('Location: ' . get_page_location_uri($page)); }