J'ai vérifié le concevoir github page pour voir ce qu'ils faisaient. Ce projet est en mouvement assez rapide et, comme il arrive d'avoir de l'aide pour facebook connect, entre autres choses. Consultez la section sur les OAuth2. Ils utilisent github comme un exemple, mais ce serait la même chose pour facebook et ils mentionnent des différences. Je pense que c'est le chemin à parcourir, troisième partie des pierres précieuses pour concevoir de ne pas se déplacer aussi vite que de l'élaboration ou de rails de le faire. Des acclamations.
Oups, voici le lien http://github.com/plataformatec/devise
Modifier
Bien sûr, j'ai fait très peu de codage ici surtout allé avec la valeur par défaut, donc voilà:
Créez une nouvelle application et ajouter ces gemmes pour le gemfile.
gem 'devise', :git => 'git://github.com/plataformatec/devise.git'
gem 'oauth2', :git => 'git://github.com/intridea/oauth2.git'
Exécuter la commande bundle install, ces commandes vous permet de vous avec une base d'authentification de l'Utilisateur modèle.
rails generate devise:install
rails generate devise User
Dans config/initializers/concevoir.rb décommenter/modifier. Regarder le dernier paragraphe de l'endroit où vous obtenez app_key et le secret de facebook.
config.oauth :facebook, 'app_key', 'secret',
:site => 'https://graph.facebook.com',
:authorize_path => '/oauth/authorize',
:access_token_path => '/oauth/access_token'
Ce doit être votre modèle d'utilisateur.
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :confirmable, :lockable, :timeoutable and :oauthable
devise :database_authenticatable, :oauthable
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me
def self.find_for_facebook_oauth(access_token, signed_in_resource=nil)
# Get the user email info from Facebook for sign up
# You'll have to figure this part out from the json you get back
data = ActiveSupport::JSON.decode(access_token)
if user = User.find_by_email(data["email"])
user
else
# Create an user with a stub password.
User.create!(:name => data["name"], :email => data["email"], :password => Devise.friendly_token)
end
end
end
Concevoir utilise une racine : = > "quelque chose#ici" j'ai donc créé une maison contrôleur avec un indice d'action et utilisé que pour la racine de l'application. Mais passons sur le fait qu'. Je l'ai mis dans la mise en page/de l'application.html.erb alors que j'avais de base sign_n sign_out routes.
<span>
<%- if user_signed_in? %>
<%= "Signed in as #{current_user.full_name}. Not you?" %>
<%= link_to 'Sign out', destroy_user_session_path %>
<%- else %>
<%= link_to 'Sign in', new_user_session_path %>
<%- end %>
</span>
Concevoir à peu près prend soin de tout le reste pour nous. Ce que vous devez faire est d'obtenir votre app_key et le secret de facebook (utilisé dans les concevoir.rb fichier de config). Ce lien devrait vous aller. http://developers.facebook.com/setup