단일 사인온 프로세스를 만들려고합니다. 필자가 구현 한 방법은 세션 데이터를 데이터베이스에 저장하는 방법을 사용합니다.새 세션 ID를 생성하는 PHP SSO (Single Sign On)
새 사용자가 웹 사이트 (www.example2.com)에 올 때 인증 표가 확인됩니다. 이것이 처음으로 웹 사이트를 방문한 것이므로 일치하지 않습니다.
브라우저가 인증 서버 www.example1.com/authenticate.php?session_id=ABC123에 표시됩니다. 여기서 ABC123은 www.example2.com에서 생성 된 세션 ID를 나타냅니다. 그런 다음 www.example1.com에서 생성 된 세션 ID는 URL에 설정된 매개 변수를 사용하여 세션 ID 옆에 저장됩니다.
사용자는 www.example2.com으로 다시 리디렉션되며 세션 ID가 일치해야합니다.
FireFox에서는 정상적으로 작동하지만 Chrome에서 시도했을 때 브라우저가 www.example2.com으로 다시 리디렉션 될 때 생성되는 세션 ID가 새로운 세션 ID임을 알게되었습니다. 결과적으로 무한 루프가 생성됩니다. 이 동작은 FireFox에서도 자체적으로 나타납니다.
새 세션 ID가 생성되는 원인은 무엇입니까? 더 중요한 것은 그것을 막기 위해 무엇을 할 수 있습니까?
미리 감사드립니다.
편집
무한 루프를 일으키는 논리적 오류가 발생했습니다. 이것은 이제 FireFox에서 다시 정상적으로 작동하지만 Chrome과 Internet Explorer에서 무한 루프가 계속 발생합니다.
어떻게 해결 했습니까? Chrome 및 세션 ID와 동일한 문제가 있습니다. – Lancelot
예. 솔루션을 공유 할 경우 유용합니다. – soupdiver