Commit 571cb4e

mo <mo.khan@gmail.com>
2018-09-02 20:41:50
store uuid in session instead of id.
1 parent 663d956
app/controllers/application_controller.rb
@@ -14,7 +14,7 @@ class ApplicationController < ActionController::Base
 
   def current_user
     return nil if session[:user_id].blank?
-    @current_user ||= User.find(session[:user_id])
+    @current_user ||= User.find_by!(uuid: session[:user_id])
   rescue ActiveRecord::RecordNotFound => error
     logger.error(error)
     nil
app/controllers/sessions_controller.rb
@@ -81,6 +81,6 @@ class SessionsController < ApplicationController
 
   def login(user)
     reset_session
-    session[:user_id] = user.id
+    session[:user_id] = user.to_param
   end
 end
app/models/user.rb
@@ -20,23 +20,29 @@ class User < ApplicationRecord
     Tfa.new(self)
   end
 
-  def self.login(email, password)
-    return if email.blank? || password.blank?
-
-    user = User.find_by!(email: email)
-    user.authenticate(password) ? user : nil
-  rescue ActiveRecord::RecordNotFound
-    nil
+  def access_token(audience)
+    BearerToken.new.encode(sub: uuid, aud: audience)
   end
 
-  def self.authenticate_token(token)
-    token = BearerToken.new.decode(token)
-    return if token.empty?
-    User.find_by(uuid: token[:sub])
+  def to_param
+    uuid
   end
 
-  def access_token(audience)
-    BearerToken.new.encode(sub: uuid, aud: audience)
+  class << self
+    def login(email, password)
+      return if email.blank? || password.blank?
+
+      user = User.find_by!(email: email)
+      user.authenticate(password) ? user : nil
+    rescue ActiveRecord::RecordNotFound
+      nil
+    end
+
+    def authenticate_token(token)
+      token = BearerToken.new.decode(token)
+      return if token.empty?
+      User.find_by(uuid: token[:sub])
+    end
   end
 
   private