Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Autoryzacja z roznych domen
Forum PHP.pl > Inne > Hydepark
nospor
Hejka,
mam dwa serwisy, jeden na domenie A.pl a drugi na domenie B.pl.
Sa to dwie rozne domeny.
Serwis A posiada autoryzacje i uzytkowniki moze przegladac serwis A bedac zalagowanym lub nie.
Serwis B nie posiada autoryzacji. Czy mozna w jakis sposob stwierdzic, czy uzytkownik bedac w serwisie B, jest zalogowany w serwisie A? Mowa o tej samej przegladarce.

Pewnie bez jakis przekierowan sie nie obejdzie?
Salvation
Można spróbować wdrożyć SSO. Wtedy logowanie masz na stronie B, ale autoryzacja leci przez A.
Inne rozwiązanie - to jeżeli logowanie masz jako stateless i używasz np. zapisanego tokenu po stronie frontu (localstorage), to można zaimplementować endpoint na A, który będziesz pingować z tym tokenem z B i w odpowiedzi dostawać będziesz np. `boolean`.
nospor
Serwis B nie ma i nie potrzebuje w ogole logowania. Jedyne co serwis B potrzebuje to info, czy uzytkownik jest zalogowany w serwisie A.
Niestety sa to dwie rozne domeny wiec nie moge uzyc ciastek powiedzmy. Rozwiazanie z tokenem wydaje sie ok ale nie rozumiem za bardzo. Skad serwis A bedzie wiedzial ze token z B nalezy do usera z A?
Salvation
Pracowałeś już może z tokenami JWT i REST API? https://auth0.com/docs/secure/security-guid...y/token-storage
viking
Rozwiązania cross-domenowe są zabronione więc jeśli nie masz np jakiegoś wspólnego punktu logowania (np oauth) to może być ciężko.
nospor
Tak tez myslalem, wolalem sie jednak upewnic. Dobra, dzieki, pozostaje wiec praca chalupnicza nad rozwiazaniem biggrin.gif
vokiel
Pozostaje jakiś fingerprinting przeglądarki i forever cookies / pingowanie w tle wspólnej domeny.
nospor
No padl pomysl by serwis B robil jakis token, pewnie fingerprint, przekierowal na serwis A z tym tokenem, serwis A zapisze sobie do bazy z info czy jest zalogowany czy nie i przekieruje na serwis B i wted sewis B zrobi wewnetrzny call do A by pobrac info czy zalogowany czy nie.
Proste, ale uzytkownik przez ulemk sekundy zobaczy dwa skoki na stronie do serwisu A a potem do B spowrotem.

Oczywiscie token wazy czasowo by za kazdym razem odswiezeniem strony B nie skakac ciagle do A
vokiel
A czy potrzebujesz aż przekierowania? Nie lepiej XHR z zapytaniem czy jest zalogowany czy nie. Możesz przecież mieć info o tym w bazie wraz z fingerprintem wyliczonym na tych samych parametrach.
Salvation
O tym pisałem... Logujesz się na A gdzie generuje się token. Token zapisujesz w localstorage i masz do niego dostęp w nowej karcie gdzie idziesz na stronę B. Pobierasz token z localstorage i pchasz XHR-em Z B na endpoint do A, który zwraca np. boolean i robisz sobie co chcesz z tą wartością.
nospor
A widzicie, no to mi umknelo z waszych wypowiedzi wczesniej. Dzieki!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.