![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 623 Pomógł: 79 Dołączył: 16.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Chciałbym stworzyć parę małych i większych serwisów. Właściwie trzy już stworzyłem i te też chciałbym podpiąć pod następującą koncepcję: Chcę mieć jedną domenę (która będzie na innym serwerze, w innej firmie hostingowej niż pozostałe domeny), na której ludzie będą mogli się rejestrować, nazwijmy to Serwisem Rejestracji ![]() Tak więc: użytk. loguje się na serwisie X, informacja ta jakoś dochodzi do Serwisu Rejestracji, zwrócona jest informacja o poprawnym/nie poprawnym zalogowaniu i dalej serwis X sobie działa, bez dalszej komunikacji z Serwisem Rejestracji (bo to pewnie za długo by trwało). Jednocześnie owo zalogowanie się, działa również na serwisie Y. Macie jakieś pomysły jak to można zrealizować? "Serwis Rejestracji" przechowuje tylko info typu: user_id, user_name, user_pass_md5, user_mail i zarządza rejestracją/logowaniem/wylogowaniem. Pozostałe informacje dotyczące użytkowników (np. opcje) mają być już przechowywane na poszczególnych serwisach. Czyli takie małe, własnoręcznie zrobione OpenId. Ten post edytował konrados 24.11.2010, 14:26:59 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%) ![]() ![]() |
Musiałbyś zrobić jakieś API do tego, bo większość serwerów nie umożliwia bezpośredniego kontaktu bazy z siecią. Np. przekierowujesz użytkownika na stronę logowania, ona sprawdza czy jest zalogowany i zwraca access token, którego potem używasz przy pobieraniu innych danych, ewentualnie od razu zwracasz wszystko. Najlepiej oczywiście przez SSL.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Do rejestracji - jeżeli dostawca uniemożliwił zdalny dostęp do mysql.. wystarczą dwa pliki
1. Właściwy plik rejestracji - z formularzem na serwerze X. Podczas rejestracji skrypt zapisuje dane na tym serwerze i wysyła np. curlem identyczne dane do serwera Y 2. Na serwerze Y znajduje się plik odczytujący dane przesłane przez serwer X i zapisuje do bazy Z logowaniem już nie jest tak kolorowo - cookie z jednej domeny nie mogą być wczytane na drugiej. Chyba, że tak jak kolega wspomniał stworzysz sobie API |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 623 Pomógł: 79 Dołączył: 16.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
No dobrze, no to to api jak rozumiem mogłoby wyglądać tak, że jest sobie strona, w której urlu podaję np. action=login&name=janKowalski&passMd5=123...
Akcja byłaby "login", lub "logout", lub "register". Tak ? Ale teraz: user się wziął i zalogował w serwisie X. Tam zapamiętałem w cookie name i passmd5... i no właśnie. Nie mogę w cookie serwisu X zapamiętać, że "zalogowany", musiałbym też w owym api zrobić action typu "sprawdź czy zalogowany" i wywoływać ów Serwer Rejestracji za każdym razem (przy każdym otwarciu jakiejś strony) celem sprawdzenia, czy się name i passmd5 zgadza, tak? No to by było strasznie wolne. Da się jakoś inaczej? |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%) ![]() ![]() |
Nie dawaj takich danych w adresie, tylko wysyłaj POSTem, najlepiej z szyfrowaniem (zawsze ktoś może przechwycić dane między serwerami, chociaż to dosyć czarny scenariusz).
Nie musisz sprawdzać cały czas, sprawdzasz raz przy logowaniu na stronie docelowej i zapamiętujesz sesję normalnie, tak jak to się robi np. z Facebook Authentication. Poczytaj o OAuth. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 08:26 |