2009-09-09 6 views
2

나는 레일에 응용 프로그램을 가지고 있습니다 (AuthLogic을 통한 인증 사용).레일 PHP 로그인 통합

내 레일 응용 프로그램에 원격으로 로그온하여 PHP 응용 프로그램에 로그인하고 싶습니다. PHP 응용 프로그램에서 레일스 응용 프로그램을 사용하여 인증을 수행하고 내 로그인 응용 프로그램에서 로그인 에코 오류가 발생하면 사용자 정보를 검색 할 수있게하려고합니다.

짧은 단어로, PHP의 로그인 양식 -> Rails app에 자격 증명 제출 -> rails app의 결과를 PHP 응용 프로그램으로 다시 가져옵니다.

어떻게하면 되나요?

미리 감사드립니다.

답변

1

이 접근 방법에는 여러 가지가 있습니다. 그러나이 설정을 실행 가능하게하는 몇 가지 규칙이 있습니다. 첫째, 레일즈와 PHP 앱이 같은 도메인에 있고 서로 다른 쿠키를 읽을 수 있어야합니다. 쿠키에 저장하고 세션을 저장하거나 PHP 및 Rails 응용 프로그램에 동일한 세션 저장소에 대한 액세스 권한을 부여해야합니다. 기껏해야 까다 롭습니다.

내 솔루션은 기존 인증 방법을 사용하는 것입니다. PHP 응용 프로그램에서 OpenID 또는 oauth 공급자를 구현하십시오. 그것들은 웹에서 쉽게 얻을 수 있습니다. Rails 쪽에서는 OpenID 또는 oauth 소비자를 구현할 것이다. 자신의 솔루션을 구축하지 않고 OpenID 또는 oauth와 같은 검증 된 개념을 사용하면 자체 솔루션보다 훨씬 안전성을 높일 수 있습니다.

그런데 OpenID 또는 oauth 스키마에 자신의 토핑을 추가하는 데는 아무런 문제가 없습니다. 나는. 오픈 아이디를 사용하는 중앙 인증 서버로 한 번 앱을 만들었습니다. 그러나 우리는 클라이언트 애플 리케이션 '자동 승인'을했고 우리는 클라이언트 (ID, 이메일, 이름, 주소 등)에 대한 기본적인 사용자 정보를 보낼 수있었습니다.

다시, 내 조언은 OpenID 또는 oauth와 함께 갈 것입니다. 나는 후자가 구현하는 것이 더 간단하다고 생각한다 (그리고 트위터는 이것을 사용한다).

+0

OpenID 또는 oauth를 선택하는 이유는 Ruby와 PHP 모두에서 사용할 수있는 라이브러리가 있으므로 PHP를 걱정할 필요가 없습니다. <-> Ruby가 세션 저장소를 통해 직접 이야기하거나 미친 듯이 말합니다. – Ariejan