2012-04-12 14 views
16

Mam podstawową wiedzę na temat security concept w Symfony2. Teraz próbuję zaimplementować funkcję jednokrotnego logowania do witryny z wieloma domenami.Wdrażanie jednokrotnego logowania Symfony2

Koncepcja sama SSO jest dość prosta:

  • Domena A jest domeną ciasteczko; ludzie mogą się logować w tej domenie
  • Podczas logowania w domenie B, użytkownik jest przekierowywany do domeny A, do której wymagane jest żądanie: One-time password. Użytkownik potrzebuje sesji w domenie A, aby uzyskać to hasło.
  • Po uzyskaniu hasła jednorazowego użytkownik jest zwracany do domeny B, która będzie zgodna z OTP do sesji w domenie A.
  • Po dopasowaniu sesja zostanie utworzona dla domeny B. Sesja zostanie zatwierdzona sesja w domenie A dla każdego kolejnego wniosku od tego momentu.

Wykonanie zapory/uwierzytelnienia dla domeny A można wykonać w normalny sposób. W moim rozumieniu, muszę:

  • Skonfiguruj zaporę dla domeny B
  • Tworzenie słuchacza do tej zapory, które w jakiś sposób przekierowuje użytkownika do domeny A (dokładniej: URI który żąda OTP)
  • Załóż authentication provider który obsługuje do OTP i tworzy sesję dla domeny B
  • Tworzenie innego słuchacza, który sprawdza ważność sesji przed sesją w domenie a

jednak mogłem naprawdę użyj wskazówek, jak to zrobić w pakiecie. Jeśli ktokolwiek może mi pomóc, to byłoby wspaniale.

Ponadto, nie jestem jeszcze pewien, jak wdrożyć OTP, lub jak porównać dwie sesje i upewnić się, że oba są prawidłowe. To przyjdzie później, najpierw muszę uruchomić ten przepływ pracy.

+0

To brzmi jak wielki pakiet, czy można dostać to dzieje :-) – richsage

+1

@ richsage zobacz własną odpowiedź :) –

Odpowiedz

Powiązane problemy