diff options
Diffstat (limited to 'example')
| -rw-r--r-- | example/http-srp.rb | 17 | ||||
| -rw-r--r-- | example/models/user.rb | 4 | ||||
| -rw-r--r-- | example/views/authenticate.erb | 8 | ||||
| -rw-r--r-- | example/views/handshake.erb | 2 | ||||
| -rw-r--r-- | example/views/ok.erb | 2 | ||||
| -rw-r--r-- | example/views/salt.erb | 2 | ||||
| -rw-r--r-- | example/views/xml.erb | 2 | 
7 files changed, 13 insertions, 24 deletions
| diff --git a/example/http-srp.rb b/example/http-srp.rb index ef43844..2e50cc8 100644 --- a/example/http-srp.rb +++ b/example/http-srp.rb @@ -1,5 +1,6 @@  require 'sinatra'  require 'pp' +require 'json'  require 'models/user'  require 'models/log' @@ -19,12 +20,14 @@ end  post '/register/salt/' do    Log.clear    @user = User.new(params.delete('I')) -  erb :salt, :layout => false, :content_type => :xml +  content_type :json +  { :salt => @user.salt.to_s(16) }.to_json  end  post '/register/user/' do    User.current.verifier = params.delete('v').hex -  erb :ok, :layout => false, :content_type => :xml +  content_type :json +  { :ok => true }.to_json  end  get '/login' do @@ -35,9 +38,10 @@ end  post '/handshake/' do    @user = User.current    Log.log(:handshake, params) -  @auth = @user.initialize_auth(params) -  Log.log(:init_auth, @auth) -  erb :handshake, :layout => false, :content_type => :xml +  @handshake = @user.initialize_auth(params) +  Log.log(:init_auth, @handshake) +  content_type :json +  @handshake.to_json  end  post '/authenticate/' do @@ -45,7 +49,8 @@ post '/authenticate/' do    Log.log(:authenticate, params)    @auth = @user.authenticate(params)    Log.log(:confirm_authentication, @auth) -  erb :authenticate, :layout => false, :content_type => :xml +  content_type :json +  @auth.to_json  end  get '/verify' do diff --git a/example/models/user.rb b/example/models/user.rb index d374d36..91bbffc 100644 --- a/example/models/user.rb +++ b/example/models/user.rb @@ -25,13 +25,13 @@ class User    def initialize_auth(params)      self.srp = SRP::Server.new(self.salt, self.verifier)      bb, u = self.srp.initialize_auth(params.delete('A').hex) -    return {:B => bb, :u => u} +    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)        self.active = true -      return {:M2 => m2} +      return {:M => m2.to_s(16)}      else        self.active = false        return {:error => "Access Denied"} diff --git a/example/views/authenticate.erb b/example/views/authenticate.erb deleted file mode 100644 index a6bf80d..0000000 --- a/example/views/authenticate.erb +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<% if @auth[:M2] %> -  <M><%="%x" % [@auth[:M2]]%></M> -<% end %> -<% if @auth[:error] %> -  <error><%=@auth[:error]%></error> -<% end %> - diff --git a/example/views/handshake.erb b/example/views/handshake.erb deleted file mode 100644 index 49eca91..0000000 --- a/example/views/handshake.erb +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<%= %Q(<r s="%x" B="%x" />) % [@user.salt, @auth[:B]] %> diff --git a/example/views/ok.erb b/example/views/ok.erb deleted file mode 100644 index b0d4f93..0000000 --- a/example/views/ok.erb +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<ok/> diff --git a/example/views/salt.erb b/example/views/salt.erb deleted file mode 100644 index 5b34b93..0000000 --- a/example/views/salt.erb +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<salt><%="%x" % @user.salt %></salt> diff --git a/example/views/xml.erb b/example/views/xml.erb deleted file mode 100644 index 0e2dcc2..0000000 --- a/example/views/xml.erb +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<%= yield %> | 
