Planuję stworzyć centralny system logowania dla wszystkich moich [teraźniejszych i przyszłych] stron www.
Kilka stron znajduje się pod jedną główną domeną [jako subdomeny, na tej głównej domenie planuje także zamieścić sam system] a kilka działa pod samodzielnymi domenami. Strony znajdują się na oddzielnych serwerach, nie mają dostępu do wspólnej bazy danych. Pomiędzy stronami chciałbym przekazywać jedynie adres email, login oraz ID usera.
Czytałem o OpenID jednak nie odpowiada mi to rozwiązanie - chciałbym uniknąć sytuacji w której user musi podawać na każdej stronie swój ID (jeśli dobrze zrozumiałem w przypadku OpenID jest to konieczne) - chciałbym by był od razu zalogowany. Wiem jak rozwiązać logowanie dla głównej domeny na której będzie znajdował się system - wystarczy do tego zwyczajna sesja. Jednak jak jednocześnie zalogować usera na innych domenach? Myślałem o umieszczenie po zalogowaniu usera obrazka typu:
<img scr="http://zewnetrznyserwer.pl/obrazek.php?id=2&email=test@test.pl&hash=[zakodowane dane md5/sha1 + soil]">
Następnie w zewnętrznym serwerze porównywałbym dane z hashem sprawdzając czy zapytanie zostało wykonane przez mój serwer oraz w przypadku potwierdzenia danych - tworzyłbym sesję dla danego usera.
Co myślicie o takim rozwiązaniu? Czy jest bezpieczne? Może macie jakieś inne pomysły?