Jeśli mam jeden serwer z wieloma domenami, jaka jest preferowana metoda wdrażania rozwiązania jednokrotnego logowania w tej samej domenie. Obecnie używam narzędzi programistycznych, mam kilka milionów plików cookie w osobnych domenach i utknąłem. Oprócz samego wdrożenia SSO, muszę również migrować różne pliki cookie do domeny centralnej. W odniesieniu do różnych serwerów, mają tylko pojedynczą stronę, która wymaga ode mnie, aby pokazać różne stany w zależności od tego, czy użytkownik jest zalogowanyJednokrotne logowanie, wiele domen na tym samym serwerze, ruby na szynach
Próbowałem następujące:.
CORS: wybrać jeden domena jako centralny ośrodek autoryzacji. Ze wszystkich innych domen sprawdź domeny, aby sprawdzić, czy użytkownik jest zalogowany. Aby przeprowadzić migrację plików cookie, sprawdź, czy istnieje obiekt "current_user", wyślij go do klienta, zrób wniosek CORS, zarejestruj użytkownika i zabij tokena. Działa świetnie! ALE ... Po zbudowaniu go na 2-3 tygodnie, CAŁKOWICIE NIE DZIAŁA w IE. Nawet w IE11 zauważam, że ustawienie domyślne wyłącza to zachowanie.
próbował majstrować przy sklepie sesji w
Rails.application.config.session_store
bez powodzenia.
Jestem obecnie eksperymentuje z następujących czynności:
JSONP: Mam ktoś teraz próbuje przekonwertować wyżej jsonp zamiast natomiast staram jakieś inne opcje:
Skonfiguruj niestandardowego dostawcę OAUTH. Tak jak poprzednio, będzie to "domena centralna", jeśli dana osoba jest zalogowana, wraca do żądanej domeny z tokenem, z którego użytkownicy mogą wysyłać żądania. https://github.com/songkick/oauth2-provider
Patrząc na to, ale wygląda na przestarzałe? https://github.com/rubycas/rubycas-client. Mam również wrażenie, że to rozwiązanie może być rozwiązaniem, jeśli wyrzucę to z miejsca, ale biorąc pod uwagę, jak daleko zajdziemy w projekcie, nie jest dla mnie jasne, w jaki sposób mogę przenieść istniejące pliki cookie. Również nie jest jasne, czy wymaga to dwie aplikacje mi się ją uruchomić (po jednym dla klienta (-ów), jeden dla serwera auth)
Jak przejść przez każdy z tych możliwości, jeśli ktoś miał żadnego doświadczenia robiąc to, co robię, proszę poinformuj mnie i zaoszczędź mi dużo pracy :)
OAuth jest chyba „prawo” sposób to zrobić. Sugeruję, żebyś skupił swoje wysiłki na tym. –