مراية لـ
https://github.com/postalserver/postal.git
تم المزامنة 2026-01-21 07:09:48 +00:00
refactor: remove token logins
هذا الالتزام موجود في:
1
Gemfile
1
Gemfile
@@ -13,7 +13,6 @@ gem "gelf"
|
|||||||
gem "haml"
|
gem "haml"
|
||||||
gem "hashie"
|
gem "hashie"
|
||||||
gem "highline", require: false
|
gem "highline", require: false
|
||||||
gem "jwt"
|
|
||||||
gem "kaminari"
|
gem "kaminari"
|
||||||
gem "klogger-logger"
|
gem "klogger-logger"
|
||||||
gem "mail"
|
gem "mail"
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ class SessionsController < ApplicationController
|
|||||||
|
|
||||||
layout "sub"
|
layout "sub"
|
||||||
|
|
||||||
skip_before_action :login_required, only: [:new, :create, :create_with_token, :begin_password_reset, :finish_password_reset, :ip, :raise_error]
|
skip_before_action :login_required, only: [:new, :create, :begin_password_reset, :finish_password_reset, :ip, :raise_error]
|
||||||
|
|
||||||
def create
|
def create
|
||||||
login(User.authenticate(params[:email_address], params[:password]))
|
login(User.authenticate(params[:email_address], params[:password]))
|
||||||
@@ -15,18 +15,6 @@ class SessionsController < ApplicationController
|
|||||||
render "new"
|
render "new"
|
||||||
end
|
end
|
||||||
|
|
||||||
def create_with_token
|
|
||||||
result = JWT.decode(params[:token], Postal.signing_key.to_s, "HS256")[0]
|
|
||||||
if result["timestamp"] > 1.minute.ago.to_f
|
|
||||||
login(User.find(result["user"].to_i))
|
|
||||||
redirect_to root_path
|
|
||||||
else
|
|
||||||
destroy
|
|
||||||
end
|
|
||||||
rescue JWT::VerificationError
|
|
||||||
destroy
|
|
||||||
end
|
|
||||||
|
|
||||||
def destroy
|
def destroy
|
||||||
auth_session.invalidate! if logged_in?
|
auth_session.invalidate! if logged_in?
|
||||||
reset_session
|
reset_session
|
||||||
|
|||||||
@@ -81,7 +81,6 @@ Rails.application.routes.draw do
|
|||||||
|
|
||||||
get "login" => "sessions#new"
|
get "login" => "sessions#new"
|
||||||
post "login" => "sessions#create"
|
post "login" => "sessions#create"
|
||||||
get "login/token" => "sessions#create_with_token"
|
|
||||||
delete "logout" => "sessions#destroy"
|
delete "logout" => "sessions#destroy"
|
||||||
match "login/reset" => "sessions#begin_password_reset", :via => [:get, :post]
|
match "login/reset" => "sessions#begin_password_reset", :via => [:get, :post]
|
||||||
match "login/reset/:token" => "sessions#finish_password_reset", :via => [:get, :post]
|
match "login/reset/:token" => "sessions#finish_password_reset", :via => [:get, :post]
|
||||||
|
|||||||
المرجع في مشكلة جديدة
حظر مستخدم