2012-11-16 5 views
1

J'essaie d'obtenir des données à l'aide de LightOpenID. En l'état, le code ci-dessous fonctionne, mais si je ne commente pas les lignes pour obtenir plus d'informations, cela expire et ne montre aucune erreur. Qu'est-ce que je fais mal?Obtention de données à partir d'openID

require_once('inc/func/_functions.php'); 
require ('inc/libs/openid.php'); 
initSession(); 
try { 
$openid = new LightOpenID('tutordelphia.com'); 
if(!$openid->mode) { 
    $openid->identity = 'https://www.google.com/accounts/o8/id'; 
    $openid->required = array (
     'contact/email', 
//  'namePerson/first', 
//  'namePerson/last' 
    ); 
    header('Location: ' . $openid->authUrl()); 
} elseif($openid->mode == 'cancel') { 
echo 'User has canceled authentication!'; 
} else { 
$valid=$openid->validate(); 
if($valid) 
{  
    $data=$openid->getAttributes(); 
    $_SESSION['user']=new userClass(); 
    $_SESSION['user']->userID=$_GET['openid_identity']; 
    $_SESSION['user']->userEmail=$data['contact/email']; 

// $_SESSION['user']->firstName=$data['namePerson/first']; 
// $_SESSION['user']->lastName=$data['namePerson/last']; 
// $_SESSION['user']->userName=$data['namePerson/first'].$data['namePerson/last']; 
    $_SESSION['user']->addUserToDB(); 
    $_SESSION['user']->createUserCookie(); 
    header('Location: index.php'); 
    } 
} 
    } catch(ErrorException $e) { 
    echo $e->getMessage(); 
} 

Répondre

0

open id est une interface http simple. Je vous suggère de créer votre propre code pour cela.

De même, google a une variante légèrement différente de l'ID ouvert et ne suit pas la norme. Je vous suggère d'essayer ce code contre un autre fournisseur (comme OpenID) qui respecte la norme. Cette librairie pourrait ne pas gérer correctement google. J'ai eu du mal à comprendre ce que google attendait avec ma propre bibliothèque.

De là, vous pouvez au moins déterminer si la bibliothèque fonctionne vraiment;)

+0

Je l'ai essayé sur mon serveur local et cela a fonctionné, mais il ne fonctionnera pas lors du déploiement. J'ai comparé le phpInfo. Serait curl asynch = hors gâcher? – Zev

Questions connexes