File tree Expand file tree Collapse file tree 3 files changed +8
-8
lines changed Expand file tree Collapse file tree 3 files changed +8
-8
lines changed Original file line number Diff line number Diff line change @@ -16,11 +16,12 @@ def login(user)
16
16
reset_session
17
17
active_session = user . active_sessions . create! ( user_agent : request . user_agent , ip_address : request . ip )
18
18
session [ :current_active_session_id ] = active_session . id
19
+
20
+ active_session
19
21
end
20
22
21
23
def forget ( user )
22
24
cookies . delete :remember_token
23
- user . regenerate_remember_token
24
25
end
25
26
26
27
def logout
@@ -33,9 +34,8 @@ def redirect_if_authenticated
33
34
redirect_to root_path , alert : "You are already logged in." if user_signed_in?
34
35
end
35
36
36
- def remember ( user )
37
- user . regenerate_remember_token
38
- cookies . permanent . encrypted [ :remember_token ] = user . remember_token
37
+ def remember ( active_session )
38
+ cookies . permanent . encrypted [ :remember_token ] = active_session . remember_token
39
39
end
40
40
41
41
def store_location
@@ -48,7 +48,7 @@ def current_user
48
48
Current . user = if session [ :current_active_session_id ] . present?
49
49
ActiveSession . find_by ( id : session [ :current_active_session_id ] ) &.user
50
50
elsif cookies . permanent . encrypted [ :remember_token ] . present?
51
- User . find_by ( remember_token : cookies . permanent . encrypted [ :remember_token ] )
51
+ ActiveSession . find_by ( remember_token : cookies . permanent . encrypted [ :remember_token ] ) &. user
52
52
end
53
53
end
54
54
Original file line number Diff line number Diff line change @@ -9,8 +9,8 @@ def create
9
9
redirect_to new_confirmation_path , alert : "Incorrect email or password."
10
10
else
11
11
after_login_path = session [ :user_return_to ] || root_path
12
- login @user
13
- remember ( @user ) if params [ :user ] [ :remember_me ] == "1"
12
+ active_session = login @user
13
+ remember ( active_session ) if params [ :user ] [ :remember_me ] == "1"
14
14
redirect_to after_login_path , notice : "Signed in."
15
15
end
16
16
else
Original file line number Diff line number Diff line change @@ -14,7 +14,7 @@ def current_user
14
14
if session [ :current_active_session_id ] . present?
15
15
ActiveSession . find_by ( id : session [ :current_active_session_id ] ) &.user
16
16
else cookies [ :remember_token ] . present?
17
- User . find_by ( remember_token : cookies [ :remember_token ] )
17
+ ActiveSession . find_by ( remember_token : cookies [ :remember_token ] ) &. user
18
18
end
19
19
end
20
20
You can’t perform that action at this time.
0 commit comments