2014-07-14 3 views
0

전후방으로 구분 된 웹 앱을 만들려고하는데 여기에는 두 개의 프로젝트가 있습니다. 그 이유는 앞으로도 모바일 버전을 만드는 계획이 있기 때문에 나는 그것을 분리했다.

다만 백은 laravel4 및 barryvdh CORS 을 사용하여 PHP로 작성되며 프런트 엔드는 angularjs 및 부트 스트랩으로 생성됩니다.

현재 상황은 로그인, 인증 및 로그 아웃을 위해 내 백 엔드 앱에 휴식 API를 만드는 것입니다.
프론트 엔드에는 로그인 페이지와 인덱스 페이지가 2 페이지 있습니다.

도메인 간 도메인 설정 방법

로그인 페이지가 사용자 이름, 비밀번호 입력 필드로 구성 버튼을 제출하는 사용자 제출 버튼을 클릭하면 , 그것은 백 엔드에서 로그인 나머지 API를 호출하고 나는 프런트 엔드에 쿠키를 지속 할 것으로 예상 로그인 성공의 경우 페이지를 열지 만 그렇지 않은 경우 (교차 출처 정책 때문에 연구를 많이 했음).

질문은 도메인간에 세션을 설정하는 방법이 있습니까? 이제 2014 년입니다. 발견 된 기사는 2012 년 이전입니다. 가능하지 않다면 OAUTH2 및 openID 외에도 도메인 전체에서 세션을 유지하는 가장 쉬운 방법은 무엇입니까 (학습 곡선이 너무 가파르므로 작성중인 애플리케이션은 작은 응용 프로그램에 불과합니다)

감사합니다.

답변

1

도메인 간 세션 작업을 위해 지금까지 내가 수행 한 작업은 다른 도메인에서 "여권"서비스를 만들고 거기에서 세션을 처리하는 것입니다 (&). 예를 들어

...

domain1.com이 webserver1 domain2.com이 WEBSERVER2 passport.com가 나는 domain1.com 또는 domain2.com 내가 포함하고있어에 하나를 연결할 때마다 webserver3

스크립트 색인 맨 위에있는 줄은 passport.com/check.php에서 "PASSPORT"라는 이름으로 이미 초기화 된 브라우저 세션이 있는지 확인합니다. 그렇다면 passport.com에서 검사를 마치고 스크립트를 시작합니다. domain1.com 또는 domain2.com은 자신의 일을 처리합니다.

브라우저 세션이 초기화되지 않은 경우 check.php는 header()를 통해 index.php 페이지로 색인을 리디렉션합니다. 이것은 LDAP에 대해 유효성을 검사하고 바인딩 사용자가 정상이면 브라우저 세션이 "여권"의 이름으로 초기화되고 사용자와 액세스 권한을 검증하기 위해 필요한 모든 필드를 포함하여 초기화됩니다. 일단 색인이 완료되면 다시 참조하십시오.

사용자가 domain1.com에서 domain2.com으로 이동하면 (또는 그 반대로) 각 색인 맨 위에 포함 된 스크립트는 사용자를 로그인 스크립트로 가져 오거나 그 사람이 필요한 사이트에 액세스합니다.

로 추가 세션을 생성하고 같은

희망이 도움이 당신이 더 설명이 필요한 경우 알려 주시기 등, "액세스 수준" "때까지 유효"로 변수를 추가 할 수 있습니다 검사합니다.

최고, Emiliano.