2016-11-04 4 views
3

동일한 데이터베이스를 사용하는 두 개의 Laravel 응용 프로그램이 있으므로 동일한 사용자와 암호를 사용합니다. 자동 로그인/인증 Laravel from Other Laravel

나는 그들이 자동으로 B에 로그인하고 그렇게 할 수있는에 사용자가 로그인하면

를, 이제 응용 프로그램이라고 가정 해 봅시다와 B? 따라서 A에 로그인하면 B에 갈 때 로그인 정보를 다시 입력 할 필요가 없습니다.

두 응용 프로그램은 동일한 도메인에 있지만, B는 하위 도메인 및

사전에 감사 A. 같은 프로젝트의 일부가 아닙니다!

+0

설정할 수 없습니다. 백엔드에 토큰을 만들고, 그 토큰을 포함시키고 요청을'Auth :: login ($ user); '또는 비슷한 것으로 받아 들여야합니다. – dangel

+0

나는 그것을 할 수 있다고 생각합니다. 응용 프로그램 B는 사용자가 A에서 거기에 갈 때를 확인합니다. – Aaron

+2

Auth 미들웨어를 수정하여 수정할 수 있습니까? 또는 아마도 컨트롤러의 생성자에서'Request $ request'를 포함하고 그것이 토큰을 포함하고 있는지 확인하십시오. – dangel

답변

0

Both applications are on the same domain, but B is a subdomain and is not part of the same project as A.이라고 말하면 두 개의 Laravel 설치가 있다고 가정해도 동일한 데이터베이스를 공유 할 수 있습니까? 나는 그런 경우, 당신이 시도 할 수 :

  • 스위치 세션 드라이버를 데이터베이스에 .env 파일을 "데이터베이스"에, 당신은 'driver' => env('SESSION_DRIVER', 'file'), 옵션 근처 config/session.php에 코멘트를 보라 참조. 그에 따라 테이블을 관리하십시오 (https://laravel.com/docs/5.5/session#driver-prerequisites 참조)
  • .env 파일에서이 행을 지정하십시오 : SESSION_DOMAIN=.domain.ext (등호 근처의 점에주의하십시오).

데이터베이스가 분리 된 경우에도 데이터베이스 대신 cookie 드라이버를 사용하여 위와 동일한 구성을 시도 할 수 있습니다. 이것이 도움이되었는지 알려주십시오.

편집 : 더 답변보다 제안, laravel는 기본적으로 (예 : 여러 웹 사이트/도메인을 처리 할 수있다 :. Route::domain('sub.domain.ext') Pratically 말하기, 당신은 routes/web.php에 노선이 방법을 정리 현명한 데이터베이스 관리와 함께 (쿼리.) 당신은 1 개의 Laravel 응용 프로그램 내에서 2 개의 개별 웹 사이트를 쉽게 찾을 수 있습니다. 물론 웹 서버를 제어 할 수 있다고 가정 할 때, 나는 굴절을 제안 할 것입니다. 정말 노력할 가치가 있습니다 ..