2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# File 'app/controllers/omni_controller.rb', line 2
def callback
=begin
1. ищем пользователя по uid + provider
2. если его нет то создаем пользователя и запись в o_datas
3 создаем сессию для пользователя
=end
auth = request.env['rack.auth']
user = User.find_by_provider_and_uid(auth['provider'],auth['uid'])
if user.nil?
user = User.create_by_auth(auth)
end
@user_session = UserSession.new(user)
puts @user_session.save!
if @user_session
redirect_to '/', :notice => "Welcome, #{auth['user_info']['name']}"
else
redirect_to '/login', :alert => "Error login"
end
end
|