/
parse_user.rb
51 lines (43 loc) · 1.59 KB
/
parse_user.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
require 'parse_user_validator'
class ParseUser < ParseResource::Base
fields :username, :password
validates_presence_of :username
validates_presence_of :password
#validates_with ParseUserValidator, :on => :create, :on => :save
def self.authenticate(username, password)
base_uri = "https://api.parse.com/1/login"
app_id = settings['app_id']
master_key = settings['master_key']
resource = RestClient::Resource.new(base_uri, app_id, master_key)
begin
resp = resource.get(:params => {:username => username, :password => password})
user = model_name.constantize.new(JSON.parse(resp), false)
user
rescue
false
end
end
def self.authenticate_with_facebook(user_id, access_token, expires)
base_uri = "https://api.parse.com/1/users"
app_id = settings['app_id']
master_key = settings['master_key']
resource = RestClient::Resource.new(base_uri, app_id, master_key)
begin
resp = resource.post(
{ "authData" =>
{ "facebook" =>
{
"id" => user_id,
"access_token" => access_token,
"expiration_date" => Time.now + expires.to_i
}
}
}.to_json,
:content_type => 'application/json', :accept => :json)
user = model_name.constantize.new(JSON.parse(resp), false)
user
rescue
false
end
end
end