konto usunięte

Temat: [PHP/SESSION] Sesje między dwoma witrynami

Cześć :-)

Tak sobie kombinuję i myślę, jak zrobić logowanie a'la Google.

Mianowicie mam kilka witryn, ale chciałbym zrobić do nich logowanie na jeszcze innej, osobnej witrynie, zamiast na każdej. Podobnie, jak mają to Panowie z Doliny Krzemowej, czyli:

Wchodzę na Gmaila, ale tak naprawdę jest robione przekierowanie na http://accounts.google.com i dopiero po zalogowaniu tam, jestem przekierowywany z sesją, albo jakimś tokenem (chyba) na Gmaila.

Tak sobie wymyśliłem, że przy logowaniu w głównym serwisie, będę ustawiał w bazie (np. w tabeli sessions) jakiś losowy hash, i hash na podstawie adresu ip, a następnie przekierowywał z powrotem do serwisu docelowego. Tam będę sprawdzał, czy hashe, które są przekazane w GET, istnieją w bazie głównej.

Any ideas? :-)

Pozdrawiam,
Rafał

konto usunięte

Temat: [PHP/SESSION] Sesje między dwoma witrynami

Rafał Nieckula:
Cześć :-)

Tak sobie kombinuję i myślę, jak zrobić logowanie a'la Google.

Mianowicie mam kilka witryn, ale chciałbym zrobić do nich logowanie na jeszcze innej, osobnej witrynie, zamiast na każdej. Podobnie, jak mają to Panowie z Doliny Krzemowej, czyli:

Wchodzę na Gmaila, ale tak naprawdę jest robione przekierowanie na http://accounts.google.com i dopiero po zalogowaniu tam, jestem przekierowywany z sesją, albo jakimś tokenem (chyba) na Gmaila.

Tak sobie wymyśliłem, że przy logowaniu w głównym serwisie, będę ustawiał w bazie (np. w tabeli sessions) jakiś losowy hash, i hash na podstawie adresu ip, a następnie przekierowywał z powrotem do serwisu docelowego. Tam będę sprawdzał, czy hashe, które są przekazane w GET, istnieją w bazie głównej.

Any ideas? :-)

Pozdrawiam,
Rafał

To dość proste. Tworzysz własną obsługę sesji i korzystasz z zewnętrznych serwerów do przechowywania danych o sesji. Weźmy na przykład PHP. Możesz przekierować sesje do memcache (jest to dość proste) lub piszesz własną obsługę sesji bo np chcesz wykorzystać bazę SQL lub NO-SQL jak np MongoDB. Później tylko w swoich projektach piszesz odpowiedni mechanizm który wznowi zapisaną tam sesję łącząc się z serwerami które przechowują dane na jej temat.

Tu na prawdę nie ma większej filozofii. W wypadku PHP nawet nie trzeba bóg wie jakich starań by ten mechanizm wprowadzić.

http://www.php.net/manual/en/function.session-set-save...
http://php.net/manual/en/memcached.sessions.phpDariusz Półtorak edytował(a) ten post dnia 24.05.12 o godzinie 11:03

konto usunięte

Temat: [PHP/SESSION] Sesje między dwoma witrynami

Tak, wiem, że proste :-) Po prostu zbieram sobie pomysły, żeby wykorzystać najlepsze i najbardziej optymalne rozwiązanie. Dzięki Darku za sugestie, właśnie się jej przyglądam :-)

konto usunięte

Temat: [PHP/SESSION] Sesje między dwoma witrynami

mam tak zrobione z użyciem bazy. session_id można przekazać albo przez url albo przez cookies z użyciem głównej domeny (zakładając że przerzucasz sesję pomiędzy poddomenami).
zamiast bazy można użyć memcache tak jak Dariusz pisze.

ew. inny system logowania, np. przez LDAP. przekazywanie klucza sesji jak powyżej.

konto usunięte

Temat: [PHP/SESSION] Sesje między dwoma witrynami

Krzysztof D.:
mam tak zrobione z użyciem bazy. session_id można przekazać albo przez url albo przez cookies z użyciem głównej domeny (zakładając że przerzucasz sesję pomiędzy poddomenami).
zamiast bazy można użyć memcache tak jak Dariusz pisze.

ew. inny system logowania, np. przez LDAP. przekazywanie klucza sesji jak powyżej.
Gdyby to były tylko subdomeny, to nie byłoby żadnego bólu, ale to niestety są zupełnie inne domeny :-) Ale rozwiązałem to tak, jak robi to Facebook, logowanie + generowanie tokena + redirect i sprawdzanie, czy user istnieje. Dzięki za wszystkie sugestie :-)
Marek Wywiał

Marek Wywiał Programista,
administrator,
instruktor

Temat: [PHP/SESSION] Sesje między dwoma witrynami

Jeżeli chcemy 'jak google' to można szybko uruchomić sobie serwer openid z gotowca:
* http://wiki.openid.net/w/page/12995226/Run%20your%20ow...

w aplikacjach autoryzację wykonać na podstawie tego serwera openid (też są gotowe rozwiązania).

Akcje wylogowania też powinny prowadzić do akcji w serwerze openid, która dodatkowo wykona wylogowania na wszystkich podpiętych do niej aplikacji (iframe lub seria redirectów, itp), żeby np nie zalogować się równocześnie jaki kilku użytkowników do kilku aplikacji (chyba, że to pożądany efekt).

konto usunięte

Temat: [PHP/SESSION] Sesje między dwoma witrynami

Rafał Nieckula:
Gdyby to były tylko subdomeny, to nie byłoby żadnego bólu, ale to niestety są zupełnie inne domeny :-) Ale rozwiązałem to tak, jak robi to Facebook, logowanie + generowanie tokena + redirect i sprawdzanie, czy user istnieje. Dzięki za wszystkie sugestie :-)


problem domen to tylko id sesji i cookie. można wtedy przekazywać przez url, albo zrobić cookie bezdomenowy .
innej opcji nie ma jeśli chodzi o przekazanie id sesji.
a jak jest to chętnie poznam.
Damian J.

Damian J. Starszy Operator
Maszyn / Mechanik w
Hamilton Sundstrand
...

Temat: [PHP/SESSION] Sesje między dwoma witrynami

.......Damian Janczycki edytował(a) ten post dnia 08.06.12 o godzinie 16:16
Damian J.

Damian J. Starszy Operator
Maszyn / Mechanik w
Hamilton Sundstrand
...

Temat: [PHP/SESSION] Sesje między dwoma witrynami

O widzę Pan rafał usunął konto. Taktowne posunięcie. Mimo zapewnień że wszystko jest ok w dalszym ciągu nie dostałem zwrotu pieniędzy które przelałem na jego rachunek (mam potwierdzenie), a na dodatek jeszcze to on straszy mnie prokuraturą :) Śmieszne a zarazem dobijające...Damian J. edytował(a) ten post dnia 22.06.12 o godzinie 16:44

Następna dyskusja:

php,sswfupload, sesje




Wyślij zaproszenie do