zoho_hub 0.1.10 → 0.1.11
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 +4 -4
- data/Gemfile.lock +1 -1
- data/lib/zoho_hub/auth.rb +43 -27
- data/lib/zoho_hub/connection.rb +1 -1
- data/lib/zoho_hub/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e281a8267ab893eea4e24d703c925f35f8a502cd00df9fcbb8a502aec5c47c6b
|
4
|
+
data.tar.gz: d87addb71b60704a885e7afbf724aa089945450d120e815dbe89bade1b161d79
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d4882911df8348e20b5b887648b6da62887cf9773511e47564ac9d405a897beb52985d23eaa6bb30bb4c2483923014a94104f84669b49fceacc965f45b551e88
|
7
|
+
data.tar.gz: ee61fc7985866b898412f755c08a19c222f33281be1f3818763f4fc7b25eb6f2fb0f88520212e47964d344616abb3a7610509cae9a6c87b49aa5cc35d0110d96
|
data/Gemfile.lock
CHANGED
data/lib/zoho_hub/auth.rb
CHANGED
@@ -10,6 +10,7 @@ module ZohoHub
|
|
10
10
|
extend Forwardable
|
11
11
|
|
12
12
|
TOKEN_PATH = '/oauth/v2/token'
|
13
|
+
REVOKE_TOKEN_PATH = '/oauth/v2/token/revoke'
|
13
14
|
AUTH_PATH = '/oauth/v2/auth'
|
14
15
|
|
15
16
|
DEFAULT_SCOPES = %w[
|
@@ -29,18 +30,14 @@ module ZohoHub
|
|
29
30
|
@scopes = scopes || DEFAULT_SCOPES
|
30
31
|
end
|
31
32
|
|
32
|
-
def
|
33
|
-
|
34
|
-
end
|
35
|
-
|
36
|
-
def auth_full_uri
|
37
|
-
Addressable::URI.join(@configuration.base_url, AUTH_PATH)
|
33
|
+
def self.auth_url
|
34
|
+
new.auth_url
|
38
35
|
end
|
39
36
|
|
40
37
|
def auth_url
|
41
38
|
uri = auth_full_uri
|
42
39
|
|
43
|
-
|
40
|
+
query = {
|
44
41
|
client_id: client_id,
|
45
42
|
scope: @scopes.join(','),
|
46
43
|
access_type: @access_type,
|
@@ -48,21 +45,27 @@ module ZohoHub
|
|
48
45
|
response_type: 'code'
|
49
46
|
}
|
50
47
|
|
48
|
+
# The consent page must be presented otherwise we don't get the refresh token back.
|
49
|
+
query[:prompt] = 'consent' if @access_type == DEFAULT_ACCESS_TYPE
|
50
|
+
|
51
|
+
uri.query_values = query
|
52
|
+
|
51
53
|
Addressable::URI.unencode(uri.to_s)
|
52
54
|
end
|
53
55
|
|
54
|
-
def
|
55
|
-
|
56
|
+
def auth_full_uri
|
57
|
+
Addressable::URI.join(@configuration.base_url, AUTH_PATH)
|
58
|
+
end
|
56
59
|
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
code: grant_token,
|
61
|
-
redirect_uri: redirect_uri,
|
62
|
-
grant_type: 'authorization_code'
|
63
|
-
}
|
60
|
+
def self.refresh_token(refresh_token)
|
61
|
+
new.refresh_token(refresh_token)
|
62
|
+
end
|
64
63
|
|
65
|
-
|
64
|
+
def refresh_token(refresh_token)
|
65
|
+
result = Faraday.post(refresh_url(refresh_token))
|
66
|
+
|
67
|
+
json = parse(result.body)
|
68
|
+
json.merge(refresh_token: refresh_token)
|
66
69
|
end
|
67
70
|
|
68
71
|
def refresh_url(refresh_token)
|
@@ -78,19 +81,16 @@ module ZohoHub
|
|
78
81
|
Addressable::URI.unencode(uri.to_s)
|
79
82
|
end
|
80
83
|
|
81
|
-
def
|
82
|
-
|
84
|
+
def parse(body)
|
85
|
+
MultiJson.load(body, symbolize_keys: true)
|
83
86
|
end
|
84
87
|
|
85
|
-
def
|
86
|
-
|
87
|
-
|
88
|
-
json = parse(result.body)
|
89
|
-
json.merge(refresh_token: refresh_token)
|
88
|
+
def token_full_uri
|
89
|
+
Addressable::URI.join(@configuration.base_url, TOKEN_PATH)
|
90
90
|
end
|
91
91
|
|
92
92
|
def revoke_refresh_token(refresh_token)
|
93
|
-
uri =
|
93
|
+
uri = revoke_token_full_uri
|
94
94
|
|
95
95
|
uri.query_values = { token: refresh_token }
|
96
96
|
|
@@ -101,6 +101,10 @@ module ZohoHub
|
|
101
101
|
parse(result.body)
|
102
102
|
end
|
103
103
|
|
104
|
+
def revoke_token_full_uri
|
105
|
+
Addressable::URI.join(@configuration.base_url, REVOKE_TOKEN_PATH)
|
106
|
+
end
|
107
|
+
|
104
108
|
def self.get_token(grant_token)
|
105
109
|
new.get_token(grant_token)
|
106
110
|
end
|
@@ -111,8 +115,20 @@ module ZohoHub
|
|
111
115
|
parse(result.body)
|
112
116
|
end
|
113
117
|
|
114
|
-
def
|
115
|
-
|
118
|
+
def token_url(grant_token)
|
119
|
+
uri = token_full_uri
|
120
|
+
|
121
|
+
query = {
|
122
|
+
client_id: client_id,
|
123
|
+
client_secret: secret,
|
124
|
+
code: grant_token,
|
125
|
+
redirect_uri: redirect_uri,
|
126
|
+
grant_type: 'authorization_code'
|
127
|
+
}
|
128
|
+
|
129
|
+
uri.query_values = query
|
130
|
+
|
131
|
+
Addressable::URI.unencode(uri.to_s)
|
116
132
|
end
|
117
133
|
end
|
118
134
|
end
|
data/lib/zoho_hub/connection.rb
CHANGED
@@ -22,7 +22,7 @@ module ZohoHub
|
|
22
22
|
def initialize(access_token:, api_domain: DEFAULT_DOMAIN, expires_in: 3600, refresh_token: nil)
|
23
23
|
@access_token = access_token
|
24
24
|
@expires_in = expires_in
|
25
|
-
@api_domain = api_domain
|
25
|
+
@api_domain = api_domain || DEFAULT_DOMAIN
|
26
26
|
@refresh_token ||= refresh_token # do not overwrite if it's already set
|
27
27
|
end
|
28
28
|
|
data/lib/zoho_hub/version.rb
CHANGED