fanfantasy7

Inscris le 02/04/2008 à 11:19
  • Signature
    Fanfantasy7
  • Site web
  • Nombre de sujets
    1
  • Nombre de messages
    10
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

fanfantasy7
le 10/03/2010 à 12:23
comment récupérer les info d'openid
remarque:
quand je me logue sur ma page
j'arrive sur le site openid
je rentre mon mot de passe
et la j'ai un tableau pour savoir ce que me demande le site et il est écrit "Status : Non demandé" pour tout les typer d'info, ça vien peut etre de la
Fanfantasy7
fanfantasy7
le 10/03/2010 à 12:16
comment récupérer les info d'openid
le code don tu parle, je l'ais pris sur un autre site, que j'ai cité plus haut
je ne connais pas la fonction complete de Auth_OpenID_Consumer

par contre
new Auth_OpenID_FileStore('./oid_store');

./oid_store c'est quoi ?
Fanfantasy7
fanfantasy7
le 10/03/2010 à 10:51
comment récupérer les info d'openid
je ne vois pas de forum sur leur site http://www.openidfrance.fr/
mais j'ai trouvé ça http://getsatisfaction.com/openid
mais c'est en anglais, j'espère que mon anglais sera compréhensible
Fanfantasy7
fanfantasy7
le 09/03/2010 à 08:20
comment récupérer les info d'openid
maintenant les 2 premières ligne de chaques fichiers sont
<?php
session_start();

mais toujours pareille
array(0) { }
Fanfantasy7
fanfantasy7
le 08/03/2010 à 16:34
comment récupérer les info d'openid
var_dump($_SESSION['var_openid']); donne array(0) { }

aprés le $_SESSION['var_openid']=$data
ça donne array(0) { }

qu'entendez-vous par exemple de donnée
ormis la documentation openid qu'on trouve sur google je n'ais rien

je n'ais pas d'erreur, ormis quand je fait un echo d'une variable dans iod_return.php, ou j'ai une erreur
Warning: Cannot modify header information
ce qui est normal

openid.php
<?php
if (!isset($_POST['submit'])) {
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title></title>
</head>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
Entrez votre OpenID: <br/>
<input type="text" name="id" size="30" />
<br />
<input type="submit" name="submit" value="Log In" />
</form>
</body>
</html>
<?php
} else {
// vérifie les valeurs du formulaire
if (trim($_POST['id'] == '')) {
die("ERROR: Entrez un OpenID valide svp.");
}

// fichiers inclus
require_once "Auth/OpenID/Consumer.php";
require_once "Auth/OpenID/FileStore.php";

// démarrage de la session (requis pour YADIS)
session_start();

// crée une zone de stockage pour les données OpenID
$store = new Auth_OpenID_FileStore('./oid_store');

// crée un consommateur OpenID
$consumer = new Auth_OpenID_Consumer($store);

// commence le process d'authentification
// crée une requête d'authentification pour le fournisseur OpenID
$auth = $consumer->begin($_POST['id']);
if (!$auth) {
die("ERROR: Entrez un OpenID valide svp.");
}

// redirige vers le fournisseur OpenID pour l'authentification
$url = $auth->redirectURL('http://192.168.1.21/essai_tech/openid/', 'http://192.168.1.21/essai_tech/openid/oid_return.php');
/* $url = $auth->redirectURL('http://localhost/essai_tech/openid/', 'http://localhost/essai_tech/openid/oid_return.php'); */
header('Location: ' . $url);
}
?>

oid_return.php
<?php
// Fichiers inclus
require_once "Auth/OpenID/Consumer.php";
require_once "Auth/OpenID/FileStore.php";
require_once "Auth/OpenID/SReg.php";

// démarre la session (requis pour YADIS)
session_start();

// crée une zone de stockage pour les données OpenID
$store = new Auth_OpenID_FileStore('./oid_store');

// crée un consommateur OpenID
// Lit la réponse du fournisseur OpenID
$consumer = new Auth_OpenID_Consumer($store);
$response = $consumer->complete('http://192.168.1.21/essai_tech/openid/oid_return.php');

// renseigne les valeurs en fonction de celles de l'authentification
if ($response->status == Auth_OpenID_SUCCESS)
{
$_SESSION['OPENID_AUTH'] = true;

// récupère les informations d'enregistrement
$sreg = new Auth_OpenID_SRegResponse();
$obj = $sreg->fromSuccessResponse($response);
$data = $obj->contents();
$_SESSION['var_openid']=$data;
}
else
{
$_SESSION['OPENID_AUTH'] = false;
}

// redirige vers la zone restreinte
header('Location: restricted.php');
?>

restricted.php
<?php
// Vérifie le statue de l'authentification
session_start();
if (!isset($_SESSION['OPENID_AUTH']) || $_SESSION['OPENID_AUTH'] !== true)
{
die ('Vous n\'avez pas le droit d\'acc&eacute;der a cette page! Loggez-vous svp.<br><a href="openid.php">retour</a>');
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title></title>
</head>
<body>
<h2>Page restreinte</h2>
<p>Vous voyez cette page seulement car l'authentification OpenID a fonctionn&eacute;e.</p>

<p>
<?php
echo 'var_dump = ';
var_dump($_SESSION['var_openid']);
echo '<br>';
echo 'var_openid dob = '.$_SESSION['var_openid']['dob'].'<br>';
echo 'var_openid email = '.$_SESSION['var_openid']['email'].'<br>';
if (isset($data['email']))
{
echo 'email = '.$data['email'];
}
else
{
echo 'pas d\'email';
}
?>
</p>


<p>
<a href="openid.php">retour</a><br>
<a href="http://www.openidfrance.fr/logout.html">D&eacute;connexion du site openID</a><br>
<a href="logout.php">D&eacute;connexion de la session</a><br>
</p>
</body>
</html>

logout.php
<?php

session_start();
//détruire les variables de la session
session_unset();


echo '
<html>
<head>
<title>
logout
</title>
</head>
<body>

<br />
';


//détruire la session
if (session_destroy())
{
echo 'Vous &ecirc;tes d&eacute;connect&eacute;<br />';
}
else
{
echo 'Erreur : impossible de d&eacute;truire la session !<br />';
}

unset($_SESSION);

echo '
</body>
</html>
';

?>
Fanfantasy7
fanfantasy7
le 08/03/2010 à 08:36
comment récupérer les info d'openid
oui ben justement, même en passant par $_SESSION j'ai rien, mais le problème n'est pas de passé la variable d'un page a une autre, mais bien une problème de lecture d'information
Fanfantasy7
fanfantasy7
le 05/03/2010 à 16:24
comment récupérer les info d'openid
dans cette page, il y a le code qui récupére l'email
http://jcrozier.developpez.com/tutoriels/web/php/openid/
j'ai fait la même chose mais ça marche pas
Fanfantasy7
fanfantasy7
le 05/03/2010 à 13:45
comment récupérer les info d'openid
bonjour,
j'aimerai savoir comment on peut récupérer les infos d'un compte openid aprés authentification ?

openid.php
<?php
if (!isset($_POST['submit'])) {
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title></title>
</head>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
Entrez votre OpenID: <br/>
<input type="text" name="id" size="30" />
<br />
<input type="submit" name="submit" value="Log In" />
</form>
</body>
</html>
<?php
} else {
// vérifie les valeurs du formulaire
if (trim($_POST['id'] == '')) {
die("ERROR: Entrez un OpenID valide svp.");
}

// fichiers inclus
require_once "Auth/OpenID/Consumer.php";
require_once "Auth/OpenID/FileStore.php";

// démarrage de la session (requis pour YADIS)
session_start();

// crée une zone de stockage pour les données OpenID
$store = new Auth_OpenID_FileStore('./oid_store');

// crée un consommateur OpenID
$consumer = new Auth_OpenID_Consumer($store);

// commence le process d'authentification
// crée une requête d'authentification pour le fournisseur OpenID
$auth = $consumer->begin($_POST['id']);
if (!$auth) {
die("ERROR: Entrez un OpenID valide svp.");
}

// redirige vers le fournisseur OpenID pour l'authentification
$url = $auth->redirectURL('http://192.168.1.21/essai_tech/openid/', 'http://192.168.1.21/essai_tech/openid/oid_return.php');
/* $url = $auth->redirectURL('http://localhost/essai_tech/openid/', 'http://localhost/essai_tech/openid/oid_return.php'); */
header('Location: ' . $url);
}
?>

iod_return.php
<?php
// Fichiers inclus
require_once "Auth/OpenID/Consumer.php";
require_once "Auth/OpenID/FileStore.php";
require_once "Auth/OpenID/SReg.php";

// démarre la session (requis pour YADIS)
session_start();

// crée une zone de stockage pour les données OpenID
$store = new Auth_OpenID_FileStore('./oid_store');

// crée un consommateur OpenID
// Lit la réponse du fournisseur OpenID
$consumer = new Auth_OpenID_Consumer($store);
$response = $consumer->complete('http://192.168.1.21/essai_tech/openid/oid_return.php');

// renseigne les valeurs en fonction de celles de l'authentification
if ($response->status == Auth_OpenID_SUCCESS)
{
$_SESSION['OPENID_AUTH'] = true;

$sreg = new Auth_OpenID_SRegResponse();
$obj = $sreg->fromSuccessResponse($response);
$data = $obj->contents();
$_SESSION['var_openid']=$data;
}
else
{
$_SESSION['OPENID_AUTH'] = false;
}

// redirige vers la zone restreinte
header('Location: restricted.php');
?>

restricted.php
<?php
session_start ();
// Vérifie le statue de l'authentification
if (!isset($_SESSION['OPENID_AUTH']) || $_SESSION['OPENID_AUTH'] !== true) {
die ('Vous n\'avez pas le droit d\'acc&eacute;der a cette page! Loggez-vous svp.<br><a href="openid.php">retour</a>');
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title></title>
</head>
<body>
<h2>Page restreinte</h2>
<p>Vous voyez cette page seulement car l'authentification OpenID a fonctionn&eacute;e.</p>

<p>
<?php
echo 'var_openid = '.$_SESSION['var_openid']['dob'].'<br>';
if (isset($data['email']))
{
echo 'email = '.$data['email'];
}
else
{
echo 'pas d\'email';
}
?>
</p>


<p>
<a href="openid.php">retour</a><br>
<a href="http://www.openidfrance.fr/logout.html">D&eacute;connexion du site openID</a><br>
<a href="logout.php">D&eacute;connexion de la session</a><br>
</p>
</body>
</html>



en fait mon problème est que
pendant l'authentification sur toutes les info j'ai "Status : Non demandé"
et donc $data['email'] est vide
merci d'avance
Fanfantasy7
fanfantasy7
le 02/04/2008 à 11:20
Comment viré la frame de multimania :)
sebastien
ton code ne fonctionne pas vraiment
en fait ce que tu fait est logique
mais a l'affichage de la page la frame apparait
ton script réaffiche le bon cadre
et multimania remet la frame et c'a tourne ne boucle
Fanfantasy7
LoadingChargement en cours