Facebook + Rails 솔루션이 많이 있는데, 가장 많이 Facebooker이지만이 제품과 다른 제품은 Rails 3와 호환되지 않습니다. 현재 Authlogic을 내 앱 인증에 사용하고 있으며 사용자에게 Facebook의 옵션을 제공하고 싶습니다. FB와 Authlogic을 함께 사용하는 가장 좋은 방법을 찾고 싶습니다. 지금은 페이스 북을위한 Authlogic 부가 기능을 작성하고 있지만 이미 완료 되었다면 다른 사람의 작업을 다시하고 싶지는 않습니다. 아무도 이것과 같은 것을 알고 있습니까?Rails 및 Authlogic이 포함 된 Facebook 그래프 API - 선호되는 방법론?
답변
이 영역은 많이 흐르고있는 것 같습니다. 메인 루비 페이스 북 라이브러리 중 어느 것도 아직 공식적으로 업데이트되지 않았기 때문에 Rails 3을 설치하기가 어려웠습니다. 최신 항목은 아직 문서화되지 않았습니다.
레일즈 3에서 작동하는 방식은 Facebooker2와 Mogli를 사용하고있었습니다. 기본적으로 mogli + authlogic oauth 컨트롤러 코드 posted here을 가져 와서 Facebooker2의 컨트롤러 및 도우미 메서드와 결합했습니다. Facebooker2와 Mogli에는 설명서가 없지만 Facebooker2 코드는 비교적 간단합니다.
또한 facebook 가입이 아닌 경우에만 트리거하도록 수동 인증을 수동으로 처리해야했습니다. 다음은 사용자 모델의 모든 authlogic 특정 코드입니다 :
이class User < ActiveRecord::Base
acts_as_authentic do |config|
config.validate_email_field = false
end
validates_length_of :email, :within => 6..100, :if => :is_not_fb_user?
validates_format_of :email, :with => Authlogic::Regex.email, :if => :is_not_fb_user?
validates_uniqueness_of :email, :if => :is_not_fb_user?
def is_fb_user?
return false if self.fb_uid.blank? || self.fb_uid == 0 || self.fb_at.blank?
return true
end
def is_not_fb_user?; !self.is_fb_user? end
def require_password?
if self.is_fb_user?
false
else
new_record? || password_changed? || send(crypted_password_field).blank?
end
end
end
몇 가지 버그가있을 수 있습니다와 나는이 접근 할 수있는 더 좋은 방법이 생각한다.
친구가 우리의 응용 프로그램 용으로이 보석을 개발 했으므로 어쩌면 응용 프로그램에서도 유용 할 것입니다 : http://github.com/pfracarolli/facebook-graph.
Omniauth를 사용하십시오. 이 주제에 대한 방송이 있습니다. 나는 그가 심지어 Authlogic과 함께 그것을 사용 믿습니다
http://railscasts.com/episodes/235-omniauth-part-1
그냥 SessionsController에 몇 줄 및 설정/초기화/omniauth.rb의 설정 파일에 몇 줄 당신은 더 많거나 적은 끝난.
소개에서 명확하게 명시되어 있습니다. '이 에피소드에서는 * Devise *와 통합하기 시작합니다 .' – RocketR
이 보석에 대한 설명서가 있습니까? –