adjusted user model to use srp
[ruby_srp.git] / example / models / user.rb
index daea621..3ad8147 100644 (file)
@@ -19,16 +19,19 @@ class User
   end
 
   def initialize_auth(params)
-    srp = SRP::Server.new(self.salt, self.verifier)
-    bb, u = srp.initialize_auth(params.delete('aa').to_i)
-    return {:bb => bb, :u => u}
+    self.srp = SRP::Server.new(self.salt, self.verifier)
+    bb, u = self.srp.initialize_auth(params.delete('A').to_i)
+    return {:B => bb, :u => u}
   end
 
-  def login!(params)
-    self.active = valid_login?(params[:login], params[:password])
+  def authenticate(params)
+    if m2 = self.srp.authenticate(params.delete('aa').to_i, params.delete('M').to_i)
+      self.active = true
+      return {:M2 => m2}
+    else
+      self.active = false
+      return {:error => "Access Denied"}
+    end
   end
 
-  def valid_login?(login, password)
-    (self.login == login) and (self.password == password)
-  end
 end