OCP\Util::addHeader('link', array('rel' => 'openid.server', 'href' => OCP\Util::linkToAbsolute("user_openid", "user.php") . '/' . $userName)); OCP\Util::addHeader('link', array('rel' => 'openid.delegate', 'href' => OCP\Util::linkToAbsolute("user_openid", "user.php") . '/' . $userName)); OCP\App::registerPersonal('user_openid', 'settings'); require_once 'apps/user_openid/user_openid.php'; //active the openid backend OC_User::useBackend('openid'); //check for results from openid requests if (isset($_GET['openid_mode']) and $_GET['openid_mode'] == 'id_res') { OCP\Util::writeLog('user_openid', 'openid retured', OCP\Util::DEBUG); $openid = new SimpleOpenID(); $openid->SetIdentity($_GET['openid_identity']); $openid_validation_result = $openid->ValidateWithServer(); if ($openid_validation_result == true) { // OK HERE KEY IS VALID OCP\Util::writeLog('user_openid', 'auth sucessfull', OCP\Util::DEBUG); $identity = $openid->GetIdentity(); OCP\Util::writeLog('user_openid', 'auth as ' . $identity, OCP\Util::DEBUG); $user = OC_USER_OPENID::findUserForIdentity($identity); if ($user) { $_SESSION['user_id'] = $user; header("Location: " . OC::$WEBROOT); } } else { if ($openid->IsError() == true) { // ON THE WAY, WE GOT SOME ERROR $error = $openid->GetError(); OCP\Util::writeLog('user_openid', 'ERROR CODE: ' . $error['code'], OCP\Util::ERROR); OCP\Util::writeLog('user_openid', 'ERROR DESCRIPTION: ' . $error['description'], OCP\Util::ERROR); } else { // Signature Verification Failed OCP\Util::writeLog('user_openid', 'INVALID AUTHORIZATION', OCP\Util::ERROR);