mirror of
https://github.com/internetee/registry.git
synced 2025-05-19 18:59:38 +02:00
Allow logging in with only username
This commit is contained in:
parent
34a1bde3e4
commit
316f9376fe
3 changed files with 15 additions and 4 deletions
|
@ -3,8 +3,18 @@ module Repp
|
||||||
format :json
|
format :json
|
||||||
prefix :repp
|
prefix :repp
|
||||||
|
|
||||||
http_basic do |username, password|
|
before do
|
||||||
@current_user ||= ApiUser.find_by(username: username, password: password)
|
auth_param = request.headers['Authorization'].split(' ', 2).second
|
||||||
|
username, password = ::Base64.decode64(auth_param || '').split(':', 2)
|
||||||
|
|
||||||
|
# allow user lookup only by username if request came from webclient
|
||||||
|
if request.ip == APP_CONFIG['webclient_ip'] && password.blank?
|
||||||
|
login_params = { username: username }
|
||||||
|
else
|
||||||
|
login_params = { username: username, password: password }
|
||||||
|
end
|
||||||
|
|
||||||
|
@current_user ||= ApiUser.find_by(login_params)
|
||||||
end
|
end
|
||||||
|
|
||||||
helpers do
|
helpers do
|
||||||
|
|
|
@ -4,8 +4,8 @@ class Epp::SessionsController < EppController
|
||||||
end
|
end
|
||||||
|
|
||||||
def login
|
def login
|
||||||
# pki login
|
# Allow login with only username
|
||||||
if request.env['HTTP_SSL_CLIENT_S_DN_CN'] == login_params[:username]
|
if request.ip == APP_CONFIG['webclient_ip'] && login_params[:password].nil?
|
||||||
@api_user = ApiUser.find_by(username: login_params[:username])
|
@api_user = ApiUser.find_by(username: login_params[:username])
|
||||||
else
|
else
|
||||||
@api_user = ApiUser.find_by(login_params)
|
@api_user = ApiUser.find_by(login_params)
|
||||||
|
|
|
@ -3,6 +3,7 @@ require 'epp_constraint'
|
||||||
Rails.application.routes.draw do
|
Rails.application.routes.draw do
|
||||||
namespace(:epp, defaults: { format: :xml }) do
|
namespace(:epp, defaults: { format: :xml }) do
|
||||||
match 'session/:action', controller: 'sessions', via: :all
|
match 'session/:action', controller: 'sessions', via: :all
|
||||||
|
match 'session/pki/:action', controller: 'sessions', via: :all
|
||||||
|
|
||||||
post 'command/:action', controller: 'domains', constraints: EppConstraint.new(:domain)
|
post 'command/:action', controller: 'domains', constraints: EppConstraint.new(:domain)
|
||||||
post 'command/:action', controller: 'contacts', constraints: EppConstraint.new(:contact)
|
post 'command/:action', controller: 'contacts', constraints: EppConstraint.new(:contact)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue