sms-pager/app/controllers/oauths_controller.rb
2015-10-08 19:16:33 -05:00

35 lines
846 B
Ruby

class OauthsController < ApplicationController
skip_before_filter :require_login
def oauth
login_at(params[:provider])
end
def callback
provider = params[:provider]
@user = login_from(provider)
if @user
redirect_to root_path, notice: "Logged in from #{provider.titleize}!"
else
begin
@user = create_from(provider)
# NOTE: this is the place to add '@user.activate!' if you
# are using user_activation submodule
reset_session # protect from session fixation attack
auto_login(@user)
redirect_to root_path, notice: "Logged in from #{provider.titleize}!"
rescue
redirect_to root_path, alert: "Failed to login from #{provider.titleize}!"
end
end
end
private
def auth_params
params.permit(:code, :provider)
end
end