Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] OpenID implementacja
Forum PHP.pl > Forum > Przedszkole
seba22
Witam,

Chciał bym zaimplementować w istniejącym serwisie www logowanie poprzez technologię OPEN ID.

Z racji złożoności serwisu nie zadowolę się tylko pobraniem loginu sad.gif
Potrzebuję e-mail, oraz datę urodzenia.



Wiem że są klasy pozwalające na takie logownko.

Jak mówiłem złożoność serwisu jest taka, iż wymaga on użycia mojej bazy danych i mojego systemu.


Więc, widzial bym to tak:
Logowanie przez open id

I tu pytanie, czy jak się poprawnie user zaloguje, i serwer przekaże mi jego login, maila to czy te dane są 100 pewne ?

Tak że mógł bym w ich oparciu zrobić wpis do bazy danych użytkowników dodając go, z parametrem Własność openID

No i standardowo, if user exist - przypisac mu zalogowane dane z DB
jeżeli nie istnieje
-> dapisać do bazy z wlasnoscia openID
-> zalogować.

Pytam bo strzelam w ciemno, nie wiem jak się za to zabrać.
Czarna magia.

Pomysł ciekawy,
Na razie widzicie, mówimy bez konkretów bez specyfikajci protokołu.
Na razie luźna rozmowa z pytaniem co odeśle serwer...
oomaster
Już było coś podobnego winksmiley.jpg

http://forum.php.pl/index.php?showtopic=98751&hl=openID
seba22
Panowie,

Mam problem, którego za cholerę nie mogę rozwiązać:

Wysyłam do serwera identyfikacyjnego takie cos:


  1. <?php
  2. <a href="http://openid.pl/server?openid.mode=checkid_setup&openid.identity=http%3A%2F%2Faxxxxpl&openid.return_to=http%3A%2F%2Fsxxxe.php&openid.sreg.required=email,gender" target="_blank">http://openid.pl/server?openid.mode=checki...ed=email,gender</a>
  3. ?>



  1. <?php
  2. <a href="http://sxxxx.php?openid.sig=23NFExxx%2BOYrOGmszY6Jw%3D&openid.mode=id_res&openid.return_to=http%3A%2F%2Fxxxxxxete.php&openid.sreg.gender=m&openid.sreg.email=admxxxfo&openid.identity=http%xxxopenid.pl&openid.signed=identity%2Creturn_to%2Cmode%2Csreg.gender%2Csreg.email&openid.assoc_handle={HxxxA1}{499bde6f}{yZrrrQ%3D%3D}" target="_blank">http://sxxxx.php?openid.sig=23NFExxx%2BOYr...}{yZrrrQ%3D%3D}</a>
  3. ?>


Dla testu daje

  1. <?php
  2. echo($_GET['openid.sreg.email']);
  3. ?>


No i nie ma maila, po mimo tego że jest u góry w pasku tytułowym....
Wstawiam próbuje przesłać go ręcznie openid.regi.email=my@wp.pl
enter
i nie echuje mi go z getu....

Jakiś pomysł ?
webdevil
zrób var_dump($_GET); i sprawdź co masz w $_GET
seba22
Wszystko jest !


  1. <?php
  2. array(8) { ["openid_sig"]=>  string(28) "23Nxxuj5Q+OYrOGmszY6Jw=" ["openid_mode"]=>  string(6) "id_res" ["openid_return_to"]=>  string(38) "http://szxxxxlete.php" ["openid_sreg_gender"]=>  string(1) "m" ["openid_sreg_email"]=>  string(19) "admin@xxxo" ["openid_identity"]=>  string(28) "http://adxpenid.pl" ["openid_signed"]=>  string(46) "identity,return_to,mode,sreg.gender,sreg.email" ["openid_assoc_handle"]=>  string(31) "{HMAC-SHA1}{499bde6f}{yZrrrQ==}"
  3. ?>
webdevil
ale z podkreśleniami a nie z kropkami winksmiley.jpg
seba22
Fajnie,

Dzięki, ja jestem ślepy.

Ale na wytłumacznie dodam że w url pisze z kropkami.
Zbiera mi tablice z _

Działą bosko.

Zastanawiam się jak zapisać w bazie danych identyfikator openID.
Bo mogą być dwa rodzaje.
1) http://xxx.domena.serwer
2) http://domena/xxx

No i trzeba sprawdzić na początku, przed załadowaniem w curla, czy dane są poprawne.
Jeżeli jest http:// wysłać, jeżeli brakuje dopisać.

Wrzucić do serwera SQL cale http://xxx.domena.serwer ?
erix
Cytat
No i trzeba sprawdzić na początku, przed załadowaniem w curla, czy dane są poprawne.

To jaki problem?

Cytat
Jeżeli jest http:// wysłać, jeżeli brakuje dopisać.

Do URL tak, ale po co trzymać niepotrzebne dane w bazie? tongue.gif

Cytat
Wrzucić do serwera SQL cale http://xxx.domena.serwer ?

IMHO to byłoby najrozsądniejsze rozwiązanie.
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.