Exemple #1
0
 public function eid()
 {
     include "openid.php";
     $openid = new LightOpenID('localhost');
     if ($openid->mode) {
         $session = ECPFactory::getSession();
         ecpimport("helpers.cryptology");
         $loginpin = ECP_Cryptology::generateInteger(30);
         $pinhash = ECP_Cryptology::generateHash($loginpin);
         $user = $openid->getAttributes();
         $achternaam = $user["namePerson/last"];
         $postcode = $user["contact/postalCode/home"];
         $adres = $user["contact/postalAddress/home"];
         $db = ECPFactory::getPDO("Logins");
         $log = new Logins();
         $log->setAdres($adres)->setOverlegGemeente($postcode)->setNaam($achternaam);
         $results = Logins::findByExample($db, $log);
         if (empty($results)) {
             //email en ww komt niet overeen
             ecpexit("exit");
         } else {
             foreach ($results as $result) {
                 $id = $result->getId();
                 $result->setIpadres($_SERVER['REMOTE_ADDR'])->setLoginpin($pinhash);
                 $count = $result->updateToDatabase($db);
                 if ($count != l) {
                     return 2;
                 } else {
                     ecpexit("uid=>{$id},pin=>{$loginpin}");
                 }
             }
         }
     } else {
         //Step 2: Authentication, with requirements
         $openid->identity = 'https://www.e-contract.be/eid-idp/endpoints/openid/auth-ident';
         $openid->required = array('namePerson/first', 'namePerson/last', 'namePerson', 'person/gender', 'contact/postalCode/home', 'contact/postalAddress/home', 'contact/city/home', 'eid/nationality', 'eid/pob', 'birthDate', 'eid/card-number', 'eid/card-validity/begin', 'eid/card-validity/end');
         //$openid->optional = array('');
         header('Location: ' . $openid->authUrl());
     }
 }