Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dwie aplikacjie, jedna domena, SSO
aldtest
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 25.06.2022

Ostrzeżenie: (0%)
-----


Posiadam dwie aplikacje w obrębie jednej domeny. Zrobiłem SSO tak aby z poziomu jednej aplikacji możliwe było logowanie do drugiej.

W pierwszej aplikacji zrobiłem token, który zawiera również nazwę użytkownika.
  1. $token = bin2hex(random_bytes(32)).'&'.$user;
  2. file_put_contents("token.txt",$token);


W drugiej aplikacji dekoduje token i jeżeli występuje dany użytkownik i występuje plik token.txt to pomijam hasło i wpuszczam do drugiego systemu. Po wylogowaniu z jednego z systemów token jest kasowany.
  1. $token_code = preg_replace('/&.*/s','', $token);
  2. $token_user = preg_replace('/.*&/s','', $token);


Niestety zauważyłem pierwszy błąd tzn. jeżeli zaloguje się na innej przeglądarce to wtedy utworzy się token.txt więc inna osoba z innej przeglądarki może wywołać bezpośrednio drugą aplikacje i bez logowania wejdzie bo spełniło wszystkie warunki. Czy ktoś ma jakiś pomysł aby zrobić np. token unikalny, może jakiś unikalny sessions_id bądź cookies.

Trochę utknąłem i nie wiem co dalej facepalmxd.gif

Chyba znalazłem rozwiązanie mojego problemu. Dołożyłem
  1. $_COOKIE['token'],
który następnie jest wysyłany za pomocą
  1. header("Set-Cookie: CookieToken=$sso_id; Domain=abc.pl; Path=/; Secure;");


Ten post edytował aldtest 27.06.2022, 20:22:18
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 04:38