authie 3.3.1 → 3.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/authie/session.rb +18 -4
- data/lib/authie/version.rb +1 -1
- metadata +4 -26
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d7e6e128785f1066cf922e408c6f28ae3ae3da8a6db98b3e51c4c74b7e43feb5
|
4
|
+
data.tar.gz: 35b6e941d8e107432b1249fc6c770009984daac729de967605144a0e79a493fc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d66e30a5133c29f904297c48b16c980362a87e8b6900ccf6528ec33cb3bd3a7007fac8dd62e9f84392b4af9db4fd674e2b03105c0ce65a00541bc8c9e8c2dbb9
|
7
|
+
data.tar.gz: dcf1015fa423bd07c8cd5b1fbab5125938006706c1e766ed30892359d2560a56df3a458dc15403538f9cc476ba887730a80ba07d1dc809cc40b508876df3ed88
|
data/lib/authie/session.rb
CHANGED
@@ -87,9 +87,9 @@ module Authie
|
|
87
87
|
end
|
88
88
|
|
89
89
|
# Sets the cookie on the associated controller.
|
90
|
-
def set_cookie!
|
90
|
+
def set_cookie!(value = self.temporary_token)
|
91
91
|
cookies[:user_session] = {
|
92
|
-
:value =>
|
92
|
+
:value => value,
|
93
93
|
:secure => controller.request.ssl?,
|
94
94
|
:httponly => true,
|
95
95
|
:expires => self.expires_at
|
@@ -98,6 +98,18 @@ module Authie
|
|
98
98
|
true
|
99
99
|
end
|
100
100
|
|
101
|
+
# Sets the cookie for the parent session on the associated controller.
|
102
|
+
def set_parent_cookie!
|
103
|
+
cookies[:parent_user_session] = {
|
104
|
+
:value => cookies[:user_session],
|
105
|
+
:secure => controller.request.ssl?,
|
106
|
+
:httponly => true,
|
107
|
+
:expires => self.expires_at
|
108
|
+
}
|
109
|
+
Authie.config.events.dispatch(:parent_session_cookie_updated, self)
|
110
|
+
true
|
111
|
+
end
|
112
|
+
|
101
113
|
# Check the security of the session to ensure it can be used.
|
102
114
|
def check_security!
|
103
115
|
if controller
|
@@ -224,16 +236,18 @@ module Authie
|
|
224
236
|
|
225
237
|
# Create a new session for impersonating for the given user
|
226
238
|
def impersonate!(user)
|
239
|
+
set_parent_cookie!
|
227
240
|
self.class.start(controller, :user => user, :parent => self)
|
228
241
|
end
|
229
242
|
|
230
243
|
# Revert back to the parent session
|
231
244
|
def revert_to_parent!
|
232
|
-
if self.parent
|
245
|
+
if self.parent && cookies[:parent_user_session]
|
233
246
|
self.invalidate!
|
234
247
|
self.parent.activate!
|
235
248
|
self.parent.controller = self.controller
|
236
|
-
self.parent.set_cookie!
|
249
|
+
self.parent.set_cookie!(cookies[:parent_user_session])
|
250
|
+
cookies.delete(:parent_user_session)
|
237
251
|
self.parent
|
238
252
|
else
|
239
253
|
raise NoParentSessionForRevert, "Session does not have a parent therefore cannot be reverted."
|
data/lib/authie/version.rb
CHANGED
metadata
CHANGED
@@ -1,36 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: authie
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.3.
|
4
|
+
version: 3.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Cooke
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
|
-
cert_chain:
|
11
|
-
-
|
12
|
-
-----BEGIN CERTIFICATE-----
|
13
|
-
MIIDZDCCAkygAwIBAgIBATANBgkqhkiG9w0BAQUFADA8MQswCQYDVQQDDAJtZTEZ
|
14
|
-
MBcGCgmSJomT8ixkARkWCWFkYW1jb29rZTESMBAGCgmSJomT8ixkARkWAmlvMB4X
|
15
|
-
DTE5MDUxNDEzNTIxM1oXDTIwMDUxMzEzNTIxM1owPDELMAkGA1UEAwwCbWUxGTAX
|
16
|
-
BgoJkiaJk/IsZAEZFglhZGFtY29va2UxEjAQBgoJkiaJk/IsZAEZFgJpbzCCASIw
|
17
|
-
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMUohRlPw3iIOhWZq+qf5N1ATm1H
|
18
|
-
7gBO4TpsUrw/FL/+urFExzt1+4MPfiKjILge48vKpjoTfuZusRsOQebaFidOfmhk
|
19
|
-
sEqa941CvN3OeUYARA53ORlmoLDLmdcrxq430+woFp4uuSYwim/2YQgIMdgiOTqs
|
20
|
-
cHaM9yh/xUGMnH4lB9bBDNfggMmkSFb6P8Ax4rvdX3EVv5P58RHwHszd+UI4fyy9
|
21
|
-
0W143m6ntNmqena4ZOc7HtWtRyDHHXXzlGgmghKEZgOA+/LO53VHp+cM0JqB7lq5
|
22
|
-
ZxN43fQrIT5yY9Dy7dRBeiDo53WNJPspa5soEivCBVYstMqfd+LGk/BnsyMCAwEA
|
23
|
-
AaNxMG8wCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFGlRGerNfr6J
|
24
|
-
Dprgl6DQ3kLvgVvPMBoGA1UdEQQTMBGBD21lQGFkYW1jb29rZS5pbzAaBgNVHRIE
|
25
|
-
EzARgQ9tZUBhZGFtY29va2UuaW8wDQYJKoZIhvcNAQEFBQADggEBAK2TQPMeW9qh
|
26
|
-
NDNoVbbplfSc8/uscSP2DfssCbhXQqeDfF2z+kQpxv8iAc++KTlotqOaX5A6RvLb
|
27
|
-
NvuwMHPJRQJ2e8rbuN8Sh3tUjbkAEv3SFw4hqbKmtp0j2oKBU0dxHWNfp+5ulh2l
|
28
|
-
UXnQAt4zg3v1hTD1VrwLqG/hyk9xAaWB38lEDBuPhLrDIdDJklg9bD1E2TUvoMrg
|
29
|
-
L6TIbdP1TRrxINO1D9GzboR+OuWos7qMLBEEbjat/fQchYrW1KLcHIUCyrGkZTLm
|
30
|
-
3wUJNGnT5XYq+qvTqmjkTSTfdGvZCM63C6bGdN5CAyMokGOOatGqyCMAONolWnfC
|
31
|
-
gm3t2GWWrxY=
|
32
|
-
-----END CERTIFICATE-----
|
33
|
-
date: 2019-10-01 00:00:00.000000000 Z
|
10
|
+
cert_chain: []
|
11
|
+
date: 2020-09-25 00:00:00.000000000 Z
|
34
12
|
dependencies:
|
35
13
|
- !ruby/object:Gem::Dependency
|
36
14
|
name: secure_random_string
|
@@ -90,7 +68,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
90
68
|
- !ruby/object:Gem::Version
|
91
69
|
version: '0'
|
92
70
|
requirements: []
|
93
|
-
rubygems_version: 3.0.
|
71
|
+
rubygems_version: 3.0.3
|
94
72
|
signing_key:
|
95
73
|
specification_version: 4
|
96
74
|
summary: A Rails library for storing user sessions in a backend database
|
checksums.yaml.gz.sig
DELETED
Binary file
|
data.tar.gz.sig
DELETED
Binary file
|
metadata.gz.sig
DELETED
Binary file
|