소개 : 자동 생일 축하해달라고하는 페이스 북 앱을 만들고 있습니다. 나는 그것을 레일에 구축하고 fb_graph이라는 루비 API 래퍼를 사용하고있다. fb_graph의 작성자가 잘 작동하는 샘플 애플리케이션을 제공했습니다. fb_graph_sample이 레일 프로젝트에서 웹 세션은 어떻게 작동합니까?
세션과 쿠키가 어떻게 작동하는지 이해할 수 없습니다. 예를 들어 다음 코드를 확인하십시오.
def require_authentication
authenticate Facebook.find_by_id(session[:current_user])
rescue Unauthorized => e
redirect_to root_url and return false
end
def authenticate(user)
raise Unauthorized unless user
session[:current_user] = user.id
end
[[current_user]] 세션의 출처는 어디입니까?
설정/초기화/session_store.rb에서,
FbGraphSample::Application.config.session_store :cookie_store, :key => '_fb_graph_sample_session'
그래서, 내가 값, 도메인 _fb_graph_sample_session을보고, 나는 크롬 관리자 도구를 사용하여로 배포하고있는 곳입니다 로컬 호스트의 쿠키를보고 경로, 만료, 크기, http 등 ...
어떻게 세션 [: current_user]가 발생하는지 아직 알 수 없습니까? development.sqlite3 파일을 보면 페이스 북 모델에 대한 데이터가 하나뿐입니다. ID가 1이면, [: current_user]가 1이고 코드가 'authenticate Facebook.find_by_id (1)'라고 믿을 수 있습니다.
[[current_user]] 세션이 어떻게 1로 변환되는지 설명해주십시오. 로그인시 railstutorial.org 장을 읽고 세션 컨트롤러를 만들지 만 fb_graph_sample 앱에는 세션 컨트롤러가 없습니다.
감사합니다,