summaryrefslogtreecommitdiff
path: root/users/lib
diff options
context:
space:
mode:
authorAzul <azul@leap.se>2014-04-08 14:22:56 +0200
committerAzul <azul@leap.se>2014-04-08 14:30:07 +0200
commit9776dd10fc60efde38946588d0955c406f6c1f5e (patch)
treea77a83984e39a72cd1bb2f8f89c6d9646de117d7 /users/lib
parentb6d14dc19dd350a807826e3e097738a36613e083 (diff)
move users: config and lib
Diffstat (limited to 'users/lib')
-rw-r--r--users/lib/leap_web_users.rb4
-rw-r--r--users/lib/leap_web_users/engine.rb14
-rw-r--r--users/lib/tasks/leap_web_users_tasks.rake10
-rw-r--r--users/lib/warden/session_serializer.rb13
-rw-r--r--users/lib/warden/strategies/secure_remote_password.rb81
-rw-r--r--users/lib/webfinger.rb6
-rw-r--r--users/lib/webfinger/host_meta_presenter.rb30
-rw-r--r--users/lib/webfinger/user_presenter.rb35
8 files changed, 0 insertions, 193 deletions
diff --git a/users/lib/leap_web_users.rb b/users/lib/leap_web_users.rb
deleted file mode 100644
index e1b7b1f..0000000
--- a/users/lib/leap_web_users.rb
+++ /dev/null
@@ -1,4 +0,0 @@
-require "leap_web_users/engine"
-
-module LeapWebUsers
-end
diff --git a/users/lib/leap_web_users/engine.rb b/users/lib/leap_web_users/engine.rb
deleted file mode 100644
index a2be168..0000000
--- a/users/lib/leap_web_users/engine.rb
+++ /dev/null
@@ -1,14 +0,0 @@
-# thou shall require all your dependencies in an engine.
-require "rails_warden"
-require "ruby-srp"
-
-require "warden/session_serializer"
-require "warden/strategies/secure_remote_password"
-
-require "webfinger"
-
-module LeapWebUsers
- class Engine < ::Rails::Engine
-
- end
-end
diff --git a/users/lib/tasks/leap_web_users_tasks.rake b/users/lib/tasks/leap_web_users_tasks.rake
deleted file mode 100644
index 62bcbe9..0000000
--- a/users/lib/tasks/leap_web_users_tasks.rake
+++ /dev/null
@@ -1,10 +0,0 @@
-# desc "Explaining what the task does"
-# task :leap_web_users do
-# # Task goes here
-# end
-
-# recommended that for our setup, we should have this triggered from a cron job in puppet rather than using whenever gem
-desc "Send one month warning messages"
-task :leap_web_users do
- User.send_one_month_warnings
-end
diff --git a/users/lib/warden/session_serializer.rb b/users/lib/warden/session_serializer.rb
deleted file mode 100644
index 81d7076..0000000
--- a/users/lib/warden/session_serializer.rb
+++ /dev/null
@@ -1,13 +0,0 @@
-module Warden
- # Setup Session Serialization
- class SessionSerializer
- def serialize(record)
- [record.class.name, record.id]
- end
-
- def deserialize(keys)
- klass, id = keys
- klass.constantize.find(id)
- end
- end
-end
diff --git a/users/lib/warden/strategies/secure_remote_password.rb b/users/lib/warden/strategies/secure_remote_password.rb
deleted file mode 100644
index 2c334c6..0000000
--- a/users/lib/warden/strategies/secure_remote_password.rb
+++ /dev/null
@@ -1,81 +0,0 @@
-module Warden
- module Strategies
- class SecureRemotePassword < Warden::Strategies::Base
-
- def valid?
- handshake? || authentication?
- end
-
- def authenticate!
- if authentication?
- validate!
- else # handshake
- initialize!
- end
- end
-
- protected
-
- def handshake?
- params['A'] && params['login']
- end
-
- def authentication?
- params['client_auth'] && session[:handshake]
- end
-
- def validate!
- if client = validate
- success!(User.find_by_login(client.username))
- else
- Rails.logger.warn "Login attempt failed."
- Rails.logger.debug debug_info
- Rails.logger.debug "Received: #{params['client_auth']}"
- session.delete(:handshake)
- fail!(:base => "invalid_user_pass")
- end
- end
-
- def validate
- session[:handshake].authenticate(params['client_auth'])
- end
-
- def initialize!
- if user = User.find_by_login(id)
- client = SRP::Client.new user.username,
- :verifier => user.verifier,
- :salt => user.salt
- session[:handshake] = SRP::Session.new(client, params['A'])
- custom! json_response(session[:handshake])
- else
- fail! :base => 'invalid_user_pass'
- end
- rescue SRP::InvalidEphemeral
- fail!(:base => "invalid_ephemeral")
- end
-
- def json_response(object)
- [ 200,
- {"Content-Type" => "application/json; charset=utf-8"},
- [object.to_json]
- ]
- end
-
- def id
- params["id"] || params["login"]
- end
-
- protected
-
- def debug_info
- JSON.pretty_generate(session[:handshake].internal_state)
- end
-
- end
- end
- Warden::Strategies.add :secure_remote_password,
- Warden::Strategies::SecureRemotePassword
-
-end
-
-
diff --git a/users/lib/webfinger.rb b/users/lib/webfinger.rb
deleted file mode 100644
index dd49b41..0000000
--- a/users/lib/webfinger.rb
+++ /dev/null
@@ -1,6 +0,0 @@
-module Webfinger
-
- autoload :HostMetaPresenter, 'webfinger/host_meta_presenter'
- autoload :UserPresenter, 'webfinger/user_presenter'
-
-end
diff --git a/users/lib/webfinger/host_meta_presenter.rb b/users/lib/webfinger/host_meta_presenter.rb
deleted file mode 100644
index 84ab7a9..0000000
--- a/users/lib/webfinger/host_meta_presenter.rb
+++ /dev/null
@@ -1,30 +0,0 @@
-require 'uri'
-
-class Webfinger::HostMetaPresenter
- def initialize(request)
- @request = request
- end
-
- def to_json(options = {})
- {
- subject: subject,
- links: links
- }.to_json(options)
- end
-
- def subject
- url = URI.parse(@request.url)
- url.path = ''
- url.to_s
- end
-
- def links
- { lrdd: { type: 'application/xrd+xml', template: webfinger_template } }
- end
-
- protected
-
- def webfinger_template(path = 'webfinger', query_param='q')
- "#{subject}/#{path}?#{query_param}={uri}"
- end
-end
diff --git a/users/lib/webfinger/user_presenter.rb b/users/lib/webfinger/user_presenter.rb
deleted file mode 100644
index 329f477..0000000
--- a/users/lib/webfinger/user_presenter.rb
+++ /dev/null
@@ -1,35 +0,0 @@
-class Webfinger::UserPresenter
- include Rails.application.routes.url_helpers
- attr_accessor :user
-
- def initialize(user, request)
- @user = user
- @request = request
- end
-
- def to_json(options = {})
- {
- subject: subject,
- links: links
- }.to_json(options)
- end
-
- def subject
- "acct:#{@user.email_address}"
- end
-
- def links
- links = {}
- links[:public_key] = { type: 'PGP', href: key } if key
- return links
- end
-
- protected
-
- def key
- if @user.public_key.present?
- Base64.encode64(@user.public_key.to_s)
- end
- end
-
-end