yalla_auth_ruby_client 3.0.1 → 3.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 579f2658104dca30b590a3a911584066ab71760ad4486104e38bdd81c17e689f
|
|
4
|
+
data.tar.gz: a84b1ed7a26555b805c192222c2ba5a4392ab15b0af10b52b42d943fd12876e5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 646a145162ff8963a35a5bd891effae2d7276b61fd2154a9a61a3877d3b6b1092a947b2a42761ae3544e1a5eb07ef634363e3282f5de1fc17e6efa33f3794c34
|
|
7
|
+
data.tar.gz: c9da29a33b37eda0ace9dd693d102f98acb6b9944e8b56ee2851a9032d86ec9b3cc3db6706cbb578d7fc34e465b0831023d464c3124d58bedf945411cca7d24e
|
data/README.md
CHANGED
|
@@ -91,6 +91,7 @@ to automatically validate a `token` parameter and store it in a signed cookie.
|
|
|
91
91
|
# config/application.rb
|
|
92
92
|
config.middleware.use YallaAuthRubyClient::AuthTokenMiddleware
|
|
93
93
|
# or config.middleware.use YallaAuthRubyClient::UnsignedAuthTokenMiddleware
|
|
94
|
+
# override controller_authentication auth_token_cookie to cookie[:auth_token]
|
|
94
95
|
```
|
|
95
96
|
|
|
96
97
|
## Getting Started
|
|
@@ -15,6 +15,7 @@ module YallaAuthRubyClient
|
|
|
15
15
|
if response && response.success
|
|
16
16
|
@yalla_user = response.user
|
|
17
17
|
@current_user = find_or_create_app_user(@yalla_user)
|
|
18
|
+
set_user_info_cookie(@current_user)
|
|
18
19
|
true
|
|
19
20
|
else
|
|
20
21
|
false
|
|
@@ -54,5 +55,22 @@ module YallaAuthRubyClient
|
|
|
54
55
|
def login_redirect_uri
|
|
55
56
|
"#{ENV['AUTH_URL']}/users/sign_in?redirect_uri="
|
|
56
57
|
end
|
|
58
|
+
|
|
59
|
+
def set_user_info_cookie(user)
|
|
60
|
+
return unless user
|
|
61
|
+
return if user.respond_to?(:signed_cookie) == false && user.respond_to?(:unsigned_cookie) == false
|
|
62
|
+
|
|
63
|
+
if user.respond_to?(:signed_cookie)
|
|
64
|
+
cookie_value = user.signed_cookie
|
|
65
|
+
cookie_payload = cookie_value.is_a?(Hash) ? cookie_value.merge(httponly: true) : { value: cookie_value, httponly: true }
|
|
66
|
+
request.cookie_jar.signed[:userInfo] = cookie_payload
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
if user.respond_to?(:unsigned_cookie)
|
|
70
|
+
cookie_value = user.unsigned_cookie
|
|
71
|
+
cookie_payload = cookie_value.is_a?(Hash) ? cookie_value.merge(httponly: false) : { value: cookie_value, httponly: false }
|
|
72
|
+
request.cookie_jar[:userInfo] = cookie_payload
|
|
73
|
+
end
|
|
74
|
+
end
|
|
57
75
|
end
|
|
58
76
|
end
|
|
@@ -5,8 +5,12 @@ module YallaAuthRubyClient
|
|
|
5
5
|
redirect_to ENV["AUTH_URL"], allow_other_host: true
|
|
6
6
|
end
|
|
7
7
|
|
|
8
|
+
def auth_token_cookie
|
|
9
|
+
cookies.signed[:auth_token]
|
|
10
|
+
end
|
|
11
|
+
|
|
8
12
|
def authenticate_user
|
|
9
|
-
token =
|
|
13
|
+
token = auth_token_cookie
|
|
10
14
|
return false unless token.present?
|
|
11
15
|
|
|
12
16
|
begin
|
|
@@ -16,6 +20,7 @@ module YallaAuthRubyClient
|
|
|
16
20
|
if response && response.success
|
|
17
21
|
@yalla_user = response.user
|
|
18
22
|
@current_user = find_or_create_app_user(@yalla_user)
|
|
23
|
+
set_user_info_cookie(@current_user)
|
|
19
24
|
true
|
|
20
25
|
else
|
|
21
26
|
cookies.delete(:auth_token)
|
|
@@ -43,5 +48,22 @@ module YallaAuthRubyClient
|
|
|
43
48
|
def find_or_create_app_user(user)
|
|
44
49
|
AppUser.find_or_create_by(yalla_id: user.id)
|
|
45
50
|
end
|
|
51
|
+
|
|
52
|
+
def set_user_info_cookie(user)
|
|
53
|
+
return unless user
|
|
54
|
+
return if user.respond_to?(:signed_cookie) == false && user.respond_to?(:unsigned_cookie) == false
|
|
55
|
+
|
|
56
|
+
if user.respond_to?(:signed_cookie)
|
|
57
|
+
cookie_value = user.signed_cookie
|
|
58
|
+
cookie_payload = cookie_value.is_a?(Hash) ? cookie_value.merge(httponly: true) : { value: cookie_value, httponly: true }
|
|
59
|
+
request.cookie_jar.signed[:userInfo] = cookie_payload
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
if user.respond_to?(:unsigned_cookie)
|
|
63
|
+
cookie_value = user.unsigned_cookie
|
|
64
|
+
cookie_payload = cookie_value.is_a?(Hash) ? cookie_value.merge(httponly: false) : { value: cookie_value, httponly: false }
|
|
65
|
+
request.cookie_jar[:userInfo] = cookie_payload
|
|
66
|
+
end
|
|
67
|
+
end
|
|
46
68
|
end
|
|
47
69
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: yalla_auth_ruby_client
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.0.
|
|
4
|
+
version: 3.0.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Yalla auth openapi client
|
|
@@ -115,7 +115,6 @@ files:
|
|
|
115
115
|
- spec/models/user_role_add_spec.rb
|
|
116
116
|
- spec/models/user_spec.rb
|
|
117
117
|
- spec/spec_helper.rb
|
|
118
|
-
- yalla_auth_ruby_client-3.0.0.gem
|
|
119
118
|
- yalla_auth_ruby_client.gemspec
|
|
120
119
|
homepage: https://matrix.tn
|
|
121
120
|
licenses:
|
|
Binary file
|