Szymon
Lisiecki
Senior Software
Engineer
Temat: Autoryzacja dla wielu aplikacji
Witam,Od pewnego czasu zastanawiam się nad koncepcją logowania do wielu aplikacji za pomocą jednego formularza. Aby bardziej zobrazować mój zamiar, opiszę pokrótce o co mi chodzi. Mam kilka aplikacji webowych, które działają na kilku serwerach i korzystają z kilku baz danych (wszystko w sieci lokalnej). Wygląda to mniej więcej tak:
aplikacja1 na serwer1 baza db1 na serwerDB
aplikacja2 na serwer2 baza db2 na serwerDB
aplikacja3 na serwer3 baza db3 na serwerDB
aplikacja4 na serwer4 baza db4 na serwerDB
Każda z aplikacji ma swój własny mechanizm logowania - strona z polami do wpisania loginu i hasła.
I teraz właściwy opis zagadnienia. Chciałbym stworzyć aplikację której zadaniem byłoby tylko autoryzowanie użytkowników. Miało by to działać na zasadzie takiej, że wchodzę na stronę, podaję login i hasło. Po poprawnym zalogowaniu przechodzę na drugą stronę internetową, gdzie byłyby linki do innych aplikacji (aplikacja1, aplikacja2, itd.). Po kliknięciu na link przechodzę do tej aplikacji (która znajduje się na innym serwerze), ale nie wyświetlam już okna do logowania bo ta aplikacja już "wie" że jestem zalogowany. I teraz pytanie jak "poinformować" aplikację1 że jestem zalogowany?
Dla jaśniejszego zobrazowania podam jeszcze jeden przykład. na stronie http://google.pl loguję się na swoje konto. Gdy później wejdę na youtube.com to automatycznie jestem zalogowany na swoim koncie, wchodzę na gmail.com i znów jestem już zalogowany. Generalnie podając raz login i hasło, jestem zalogowany na kilku serwisach.
Jeśli ktoś ma koncepcję jak to zrealizować lub już to robił kiedyś to bardzo proszę o opisanie na jakiej zasadzie działa takie uwierzytelnianie.
PS. mam pełen dostęp do serwerów i kodów źródłowych aplikacji więc nie ma problemu z jakimkolwiek konfigurowaniem czy modyfikacją kodu
Pozdrawiam