Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]LightOpenID-problem
Grzesisto
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 28.03.2014

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




1) Uzywaj BBCODE. Dla kodu PHP ma to byc BBCODE PHP
2) A startujesz w ogole sesje?
Go to the top of the page
+Quote Post
Grzesisto
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 28.03.2014

Ostrzeżenie: (0%)
-----


Tak oczywiście sesje startuje.
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




W tym kodzie nie widze.

Poza tym wlacz wyswietlanie bledow
Temat: Jak poprawnie zada pytanie
to moze jakies zobaczysz
Go to the top of the page
+Quote Post
Grzesisto
post
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 28.03.2014

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 05:52