From 7de7a78668a83eaab58597ce655ba613d4b477fb Mon Sep 17 00:00:00 2001 From: Azul Date: Thu, 26 Jul 2012 10:51:42 +0200 Subject: turned server class into authentication module - test green, example broken The example seems to be broken due to changes in srp-js --- example/http-srp.rb | 12 ++++++------ example/models/user.rb | 11 ++++++----- example/views/signup.erb | 2 +- 3 files changed, 13 insertions(+), 12 deletions(-) (limited to 'example') diff --git a/example/http-srp.rb b/example/http-srp.rb index 2e50cc8..ed07896 100644 --- a/example/http-srp.rb +++ b/example/http-srp.rb @@ -2,9 +2,9 @@ require 'sinatra' require 'pp' require 'json' +require '../lib/srp' require 'models/user' require 'models/log' -require '../lib/srp' get '/' do @user = User.current @@ -24,7 +24,7 @@ post '/register/salt/' do { :salt => @user.salt.to_s(16) }.to_json end -post '/register/user/' do +post '/register/user' do User.current.verifier = params.delete('v').hex content_type :json { :ok => true }.to_json @@ -35,19 +35,19 @@ get '/login' do erb :login end -post '/handshake/' do +post '/handshake' do @user = User.current Log.log(:handshake, params) - @handshake = @user.initialize_auth(params) + @handshake = @user.handshake(params) Log.log(:init_auth, @handshake) content_type :json @handshake.to_json end -post '/authenticate/' do +post '/authenticate' do @user = User.current Log.log(:authenticate, params) - @auth = @user.authenticate(params) + @auth = @user.validate(params) Log.log(:confirm_authentication, @auth) content_type :json @auth.to_json diff --git a/example/models/user.rb b/example/models/user.rb index 91bbffc..81104f4 100644 --- a/example/models/user.rb +++ b/example/models/user.rb @@ -1,5 +1,7 @@ class User + include SRP::Authentication + def self.current @current end @@ -22,14 +24,13 @@ class User User.current = self end - def initialize_auth(params) - self.srp = SRP::Server.new(self.salt, self.verifier) - bb, u = self.srp.initialize_auth(params.delete('A').hex) + def handshake(params) + bb, u = initialize_auth(params.delete('A').hex) return {:s => self.salt.to_s(16), :B => bb.to_s(16)} end - def authenticate(params) - if m2 = self.srp.authenticate(params.delete('M').hex) + def validate(params) + if m2 = authenticate(params.delete('M').hex) self.active = true return {:M => m2.to_s(16)} else diff --git a/example/views/signup.erb b/example/views/signup.erb index 6e1bbf3..2b26820 100644 --- a/example/views/signup.erb +++ b/example/views/signup.erb @@ -1,6 +1,6 @@

1. Signup

-
+ Signup to test secure remote passwords
-- cgit v1.2.3