diff --git a/bin/rots b/bin/rots index 44efb82..ba11e91 100755 --- a/bin/rots +++ b/bin/rots @@ -11,6 +11,7 @@ server_options = { :debugger => false, :port => 1123, :verbose => true, + :storage => './tmp/rots', :config => <<-DEFAULT_CONFIG # Default configuration file identity: john.doe @@ -35,6 +36,11 @@ opts = OptionParser.new do |opts| server_options[:port] = port end + opts.on("-s", "--storage PATH", + "use PATH as the OpenID Server storage path (default: ./tmp/rots)") do |storage_path| + server_options[:storage] = storage_path + end + opts.on("-c", "--config FILE.yaml", "server configuration YAML file") do |config_path| abort "\x1B[31mConfiguration file #{config_path} not found\x1B[0m" unless File.exists?(config_path) diff --git a/lib/ruby_openid_test_server/server_app.rb b/lib/ruby_openid_test_server/server_app.rb index 25ae820..6bf71ed 100644 --- a/lib/ruby_openid_test_server/server_app.rb +++ b/lib/ruby_openid_test_server/server_app.rb @@ -48,7 +48,8 @@ def on_openid_request(env) def create_wrappers(env) @request = Rack::Request.new(env) - @server = OpenID::Server::Server.new(OpenID::Store::Memory.new, @request.host) + @server = OpenID::Server::Server.new( + OpenID::Store::Filesystem.new(@server_options[:storage]), @request.host) @openid_request = @server.decode_request(@request.params) @openid_sreg_request = OpenID::SReg::Request.from_openid_request(@openid_request) unless @openid_request.nil? end