Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]LightOpenID-problem
Forum PHP.pl > Forum > Przedszkole
Grzesisto
Witam serdecznie,
Mam o to taki mały problem, do swojej aplikacji chce logować się przez google przy pomocy OpenId (LightOpenID). Problem polega na tym iż po poprawnej autoryzacji chce sobie pewne wartości jak np. imię, nazwisko przypisać do zmiennych sesyjnych. Ale niestety zmienne te w obrębie bloku obiektu klasy lightopenid sie nie rejestrują, poza obiektem jest wszystko ok.

Kod:

<?php require 'openid.php';
try { $openid = new LightOpenID('127.0.0.1');
if(!$openid->mode) {
if(isset($_GET['login'])) {
$openid->identity = 'https://www.google.com/accounts/o8/id';
$openid->required = array('namePerson/first', 'namePerson/last', 'contact/email');
header('Location: ' . $openid->authUrl()); }
?> <a href="<?php echo $_SERVER['PHP_SELF'] . "?login"?>"><img src = "google.jpg" alt = "Zaloguj przez Google"</img></a>
<?php
} elseif($openid->mode == 'cancel') {
echo 'User has canceled authentication!'; }
else {
if($openid->validate()) {
echo 'User <b>' . $openid->identity . '</b> has logged in.<br>';
echo "<h3>User information</h3>";
$identity = $openid->identity; $attributes = $openid->getAttributes();
$email = $attributes['contact/email'];
$first_name = $attributes['namePerson/first'];
$last_name = $attributes['namePerson/last'];
echo "mode: " . $openid->mode . "<br>";
echo "identity: " . $identity . "<br>";
echo "email: " . $email . "<br>";
echo "first_name: " . $first_name . "<br>";
echo "last_name: " . $last_name . "<br>";

$_SESSION['mail'] = $email; ///////////////////////////zmienna sesyjna, która się nie rejstruje.

} else {
echo 'User ' . $openid->identity . 'has not logged in.';
}
}
} catch(ErrorException $e) { echo $e->getMessage();
}

Będe wdzieczny za pomoc.
Pozdrawiam.
nospor
1) Uzywaj BBCODE. Dla kodu PHP ma to byc BBCODE PHP
2) A startujesz w ogole sesje?
Grzesisto
Tak oczywiście sesje startuje.
nospor
W tym kodzie nie widze.

Poza tym wlacz wyswietlanie bledow
Temat: Jak poprawnie zada pytanie
to moze jakies zobaczysz
Grzesisto
Naprawdę, sesje startuje, np. przez session_start() a teraz mam ustawione w ustawieniach serwera na automatyczne wykrywanie sesji. Skrypt to wyświetlania błędów mam włączony jednak nic nie wyświetla.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.