Updated auth controll

This commit is contained in:
magnolia-fan
2011-06-26 15:45:51 +04:00
parent 08b04b781d
commit 295811c6de
8 changed files with 53 additions and 35 deletions
+4
View File
@@ -89,4 +89,8 @@ class LastFmController < ApplicationController
return
end
def self.api_key
@@api_key
end
end
+21 -6
View File
@@ -2,21 +2,29 @@ class UserController < ApplicationController
def auth
return unless authorized?
@res = {}
@res[:status] = 'hello'
@res = {:status => 'hello', :newbie => false}
user = User.find_by_vkid(params[:mid])
if user.nil?
user = User.new
user.vkid = params[:mid]
user.save
@res[:newbie] = true
end
@res[:id] = user.id
@res[:username] = user.name
session = Session.find_or_create_by_user_id(user.id)
session.key = Digest::SHA256.hexdigest(rand(99999999).to_s + user.id.to_s + rand(99999999).to_s)
session.save
@res[:user] = {
:id => user.id,
:name => user.name,
:email => user.email,
:vkid => user.vkid,
:lastfm_username => user.lastfm_username,
:lastfm_login_url => 'http://www.last.fm/api/auth?api_key='+ LastFmController.api_key +
'&cb=http://'+ request.host << '/lastfm/connect/?sid='+ user.session.key
}
render :json => @res
end
@@ -30,8 +38,15 @@ class UserController < ApplicationController
user.email = params[:email]
user.save
end
@res[:username] = user.name
@res[:email] = user.email
@res[:user] = {
:id => user.id,
:name => user.name,
:email => user.email,
:vkid => user.vkid,
:lastfm_username => user.lastfm_username,
:lastfm_login_url => 'http://www.last.fm/api/auth?api_key='+ LastFmController.api_key +
'&cb=http://'+ request.host << '/lastfm/connect/?sid='+ user.session.key
}
render :json => @res
end