Udostępnij uwierzytelnianie / sesję Laravel z PHP
Próbuję użyć uwierzytelniania Laravels z wieloma prostymi aplikacjami HTML / Javascript.
Myślę, że najlepiej byłoby, gdyby to działało:
Użytkownik odwiedza prostą aplikację HTMLProsta aplikacja HTML zawiera plik PHP, który sprawdza, czy użytkownik jest uwierzytelniony. Jeśli tak nie jest, użytkownik jest wysyłany do aplikacji Laravel w celu zalogowania się, jeśli użytkownik jest zalogowany, może po prostu użyć aplikacji.Użytkownik loguje się przez Laravel i jest przekierowywany z powrotem do aplikacji HTML, gdzie ten proces zacznie się od nowa.Problem polega na sprawdzeniu, czy użytkownik jest zalogowany w skrypcie PHP. Sesja Laravels nie jest tam dostępna (i udostępniana przezsession_start()
i$_SESSION["auth"] = true
doda zmienną tylko do wersji Laravels rodzimej sesji PHP).
To są ustawienia, które mamapp/config/session.php
return array(
'driver' => 'native',
'lifetime' => 120,
'files' => storage_path().'/sessions',
'connection' => null,
'table' => 'sessions',
'lottery' => array(2, 100),
'cookie' => 'laravel_session',
'path' => null,
'domain' => null,
);
Zmieniłem ścieżkę donull
ponieważ chcę używać sesji w całej domenie.
Mój dołączony skrypt PHP jest bardzo prosty i wygląda tak:
session_start();
if($_SESSION['authenticated']){
echo "logged_in";
} else {
header("Location: laravel/login/url");
}
Można się zastanawiać, dlaczego nie włączam aplikacji tylko do frameworka Laravels, ponieważ jest około 100 różnych wersji tej prostej aplikacji HTML rozrzuconych po 10 nazwach domen, w tej chwili każda nazwa domeny ma swoją własną (bardzo stara i niepewna) skrypt logowania (który jest kopiowany za każdym razem, gdy tworzona jest nowa domena). Dlatego chcę to scentralizować za pomocą jednej bazy danych i jednego systemu zarządzania za pomocą Laravel.
Mam nadzieję, że ktoś tutaj wie, jak rozwiązać ten problem lub obejść go (może powinienem spróbować użyć pakietu sesji Laravels w moim skrypcie PHP?).