Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def create
- if params[:provider].present?
- @user = User.find_or_create_from_auth(request.env['omniauth.auth'])
- if @user
- session[:user_id] = @user.id
- flash[:notice] = "Logged in as #{@user.name}"
- redirect_to dashboard_path
- end
- def self.find_or_create_from_auth(auth)
- find_or_create_by!(provider: auth.provider, uid: auth.uid, password_digest: 'N/A') do |user|
- user.provider = auth.provider
- user.uid = auth.uid
- user.name = auth.info.name
- user.email = auth.info.email
- user.address = "123 ABC St"
- user.password = 'n/a'
- user.oauth_token = auth.credentials.token
- user.oauth_expires_at = Time.at(auth.credentials.expires_at)
- user.save
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement