first steps towards adding a server side srp flow to the example
[ruby_srp.git] / example / models / user.rb
1 class User
2
3   def self.current
4     # p "getting #{@current ? @current.login : 'nil'}"
5     @current ||= User.new
6   end
7
8   attr_accessor :login
9   attr_accessor :salt
10   attr_accessor :verifier
11   attr_accessor :active
12   attr_accessor :srp
13
14   def signup!(params)
15     self.login = params.delete('login')
16     self.salt = params.delete('salt').to_i
17     self.verifier = params.delete('verifier').to_i
18     self.active = false
19   end
20
21   def initialize_auth(params)
22     srp = SRP::Server.new(self.salt, self.verifier)
23     bb, u = srp.initialize_auth(params.delete('aa').to_i)
24     return {:bb => bb, :u => u}
25   end
26
27   def login!(params)
28     self.active = valid_login?(params[:login], params[:password])
29   end
30
31   def valid_login?(login, password)
32     (self.login == login) and (self.password == password)
33   end
34 end