add a /login.json endpoint, just returns success or failure for now - merged with i18n
This commit is contained in:
parent
d3e90291b3
commit
bf5967b93e
|
@ -47,10 +47,26 @@ class LoginController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
if user.has_2fa?
|
if user.has_2fa?
|
||||||
|
if params[:totp].present?
|
||||||
|
if !user.authenticate_totp(params[:totp])
|
||||||
|
raise "invalid TOTP code"
|
||||||
|
end
|
||||||
|
else
|
||||||
|
return respond_to do |format|
|
||||||
|
format.html {
|
||||||
session[:twofa_u] = user.session_token
|
session[:twofa_u] = user.session_token
|
||||||
return redirect_to "/login/2fa"
|
redirect_to "/login/2fa"
|
||||||
|
}
|
||||||
|
format.json {
|
||||||
|
render :json => { :status => 0,
|
||||||
|
:error => "must supply totp parameter" }
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
return respond_to do |format|
|
||||||
|
format.html {
|
||||||
session[:u] = user.session_token
|
session[:u] = user.session_token
|
||||||
|
|
||||||
if (rd = session[:redirect_to]).present?
|
if (rd = session[:redirect_to]).present?
|
||||||
|
@ -67,13 +83,26 @@ class LoginController < ApplicationController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return redirect_to "/"
|
redirect_to "/"
|
||||||
|
}
|
||||||
|
format.json {
|
||||||
|
render :json => { :status => 1, :username => user.username }
|
||||||
|
}
|
||||||
|
end
|
||||||
rescue
|
rescue
|
||||||
end
|
end
|
||||||
|
|
||||||
|
respond_to do |format|
|
||||||
|
format.html {
|
||||||
flash.now[:error] = I18n.t 'controllers.login_controller.flashlogininvalid'
|
flash.now[:error] = I18n.t 'controllers.login_controller.flashlogininvalid'
|
||||||
@referer = params[:referer]
|
@referer = params[:referer]
|
||||||
index
|
index
|
||||||
|
}
|
||||||
|
format.json {
|
||||||
|
render :json => { :status => 0,
|
||||||
|
:error => "invalid 'email' and/or 'password' parameter" }
|
||||||
|
}
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def forgot_password
|
def forgot_password
|
||||||
|
|
|
@ -30,7 +30,7 @@ Lobsters::Application.routes.draw do
|
||||||
get "/threads/:user" => "comments#threads"
|
get "/threads/:user" => "comments#threads"
|
||||||
|
|
||||||
get "/login" => "login#index"
|
get "/login" => "login#index"
|
||||||
post "/login" => "login#login"
|
post "/login" => "login#login", :format => /html|json/
|
||||||
post "/logout" => "login#logout"
|
post "/logout" => "login#logout"
|
||||||
get "/login/2fa" => "login#twofa"
|
get "/login/2fa" => "login#twofa"
|
||||||
post "/login/2fa_verify" => "login#twofa_verify", :as => "twofa_login"
|
post "/login/2fa_verify" => "login#twofa_verify", :as => "twofa_login"
|
||||||
|
|
Loading…
Reference in a new issue