- , , , , , oauth2.
/.
1) " Facebook",
def to_facebook
options = {
:redirect_uri => facebook_callback_url,
:scope => "email,publish_stream"
}
client = OAuth2::Client.new(FACEBOOK_API_KEY, FACEBOOK_API_SECRET, :site => FACEBOOK_API_SITE)
redirect_to client.web_server.authorize_url(options)
end
2) facebook , facebook , facebook_callback_url, :
def facebook_callback
client = OAuth2::Client.new(FACEBOOK_API_KEY, FACEBOOK_API_SECRET, :site => FACEBOOK_API_SITE)
access_token = client.web_server.get_access_token(params[:code], :redirect_uri => facebook_callback_url)
do_my_custom_user_association(access_token)
end
, do_my_custom_user_association, current_user, authlogic, - , , , . , , facebook.
, , (, facebook_callback error_reason, get_acccess_token ), oauth2 , .
. http://developers.facebook.com/docs/authentication/, - oauth2 .