Omniauth facebook sessions controller create action integration

13 views
Skip to first unread message

Monty Lennie

unread,
Dec 21, 2013, 9:19:24 AM12/21/13
to rubyonra...@googlegroups.com
I have just finished the Michael Hartl tutorial. I am trying to
implement omniauth-facebook to sign-up and sign-in users. I am having
trouble creating the master variable to use in the create action in the
sessions controller. My assumption is that I should put in an if else
statement to see if the master is either signing on through facebook or
through the default form? Or should I use and or statement:

(master = Master.find_by(email: params[:session][:email].downcase) ||
Master.from_omniauth(env["omniauth.auth"])) ?

Here is the omniauth-facebook sessons controller create action code:

def create
user = User.from_omniauth(env["omniauth.auth"])
session[:user_id] = user.id
redirect_to root_url
end

And here is my current sessions controller create action code:

class SessionsController < ApplicationController

def new
end

def create
master = Master.find_by(email:
params[:session][:email].downcase)
if master && master.authenticate(params[:session][:password])
sign_in master
redirect_back_or master
else
flash.now[:error] = 'Invalid email/password combination'
render 'new'
end
end
.
.
.


end

--
Posted via http://www.ruby-forum.com/.
Reply all
Reply to author
Forward
0 new messages