linkhub 1.2.0 → 1.5.0
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/lib/linkhub.rb +39 -21
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9a974fa63fe8c7bcdedaec707b69c412350f3eca
|
4
|
+
data.tar.gz: 88ca42e2b9a7c44b47ec716a8e67567e6ab0cdb1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b736cc1a7528dfb24b66eaae1c1627bb8af3c97485c855e8d1b722fcb38a08e4f8cca2123761aba3327d17e6dde5cfbd1431c43b76280e8b6c46d71220c3a87e
|
7
|
+
data.tar.gz: 8dc40e58f7a48753fafe7dc55cb83728827e7ce0436f51b10fbcdedd6e7ca2cb91939c7f21919b6e20645f6cb837c7b9988eceac68df3740d61b7c70067fb456
|
data/lib/linkhub.rb
CHANGED
@@ -7,14 +7,16 @@ require "base64"
|
|
7
7
|
require 'zlib'
|
8
8
|
require 'stringio'
|
9
9
|
require 'openssl'
|
10
|
+
require 'time'
|
10
11
|
|
11
12
|
# Linkhub API Base Class
|
12
13
|
class Linkhub
|
13
14
|
attr_accessor :_linkID, :_secretKey
|
14
15
|
|
15
|
-
LINKHUB_APIVersion = "
|
16
|
+
LINKHUB_APIVersion = "2.0"
|
16
17
|
LINKHUB_ServiceURL = "https://auth.linkhub.co.kr"
|
17
|
-
|
18
|
+
LINKHUB_ServiceURL_Static = "https://static-auth.linkhub.co.kr"
|
19
|
+
LINKHUB_ServiceURL_GA = "https://ga-auth.linkhub.co.kr"
|
18
20
|
# Generate Linkhub Class Singleton Instance
|
19
21
|
class << self
|
20
22
|
def instance(linkID, secretKey)
|
@@ -26,15 +28,26 @@ class Linkhub
|
|
26
28
|
private :new
|
27
29
|
end
|
28
30
|
|
31
|
+
def getServiceURL(useStaticIP, useGAIP)
|
32
|
+
if useGAIP
|
33
|
+
return LINKHUB_ServiceURL_GA
|
34
|
+
elsif useStaticIP
|
35
|
+
return LINKHUB_ServiceURL_Static
|
36
|
+
else
|
37
|
+
return LINKHUB_ServiceURL
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
29
41
|
# Get SessionToken for Bearer Token
|
30
|
-
def getSessionToken(serviceid, accessid, scope, forwardip="")
|
31
|
-
uri = URI(
|
42
|
+
def getSessionToken(serviceid, accessid, scope, forwardip="",useStaticIP=false,useGAIP=false,useLocalTimeYN=true)
|
43
|
+
uri = URI(getServiceURL(useStaticIP, useGAIP) + "/" + serviceid + "/Token")
|
44
|
+
|
32
45
|
postData = {:access_id => accessid, :scope => scope}.to_json
|
33
46
|
|
34
|
-
apiServerTime = getTime()
|
47
|
+
apiServerTime = getTime(useStaticIP, useGAIP, useLocalTimeYN)
|
35
48
|
|
36
49
|
hmacTarget = "POST\n"
|
37
|
-
hmacTarget += Base64.strict_encode64(Digest::
|
50
|
+
hmacTarget += Base64.strict_encode64(Digest::SHA256.digest(postData)) + "\n"
|
38
51
|
hmacTarget += apiServerTime + "\n"
|
39
52
|
|
40
53
|
if forwardip != ""
|
@@ -47,7 +60,7 @@ class Linkhub
|
|
47
60
|
key = Base64.decode64(@_secretKey)
|
48
61
|
|
49
62
|
data = hmacTarget
|
50
|
-
digest = OpenSSL::Digest.new("
|
63
|
+
digest = OpenSSL::Digest.new("sha256")
|
51
64
|
hmac = Base64.strict_encode64(OpenSSL::HMAC.digest(digest, key, data))
|
52
65
|
|
53
66
|
headers = {
|
@@ -83,21 +96,26 @@ class Linkhub
|
|
83
96
|
|
84
97
|
|
85
98
|
# Get API Server UTC Time
|
86
|
-
def getTime
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
if res.code == "200"
|
91
|
-
res.body
|
99
|
+
def getTime(useStaticIP=false,useGAIP=false,useLocalTimeYN=true)
|
100
|
+
if useLocalTimeYN
|
101
|
+
Time.now.utc.iso8601
|
92
102
|
else
|
93
|
-
|
94
|
-
|
103
|
+
uri = URI(getServiceURL(useStaticIP, useGAIP) + "/Time")
|
104
|
+
|
105
|
+
res = Net::HTTP.get_response(uri)
|
106
|
+
|
107
|
+
if res.code == "200"
|
108
|
+
res.body
|
109
|
+
else
|
110
|
+
raise LinkhubException.new(-99999999,
|
111
|
+
"failed get Time from Linkhub API server")
|
112
|
+
end
|
95
113
|
end
|
96
114
|
end
|
97
115
|
|
98
116
|
# 파트너 포인트 충전 URL - 2017/08/29 추가
|
99
|
-
def getPartnerURL(bearerToken, serviceID, togo)
|
100
|
-
uri = URI(
|
117
|
+
def getPartnerURL(bearerToken, serviceID, togo, useStaticIP=false, useGAIP=false)
|
118
|
+
uri = URI(getServiceURL(useStaticIP, useGAIP) + "/" + serviceID + "/URL?TG=" + togo)
|
101
119
|
|
102
120
|
headers = {
|
103
121
|
"Authorization" => "Bearer " + bearerToken,
|
@@ -118,8 +136,8 @@ class Linkhub
|
|
118
136
|
end
|
119
137
|
|
120
138
|
# Get Popbill member remain point
|
121
|
-
def getBalance(bearerToken, serviceID)
|
122
|
-
uri = URI(
|
139
|
+
def getBalance(bearerToken, serviceID, useStaticIP=false, useGAIP=false)
|
140
|
+
uri = URI(getServiceURL(useStaticIP, useGAIP) + "/" + serviceID + "/Point")
|
123
141
|
|
124
142
|
headers = {
|
125
143
|
"Authorization" => "Bearer " + bearerToken,
|
@@ -140,8 +158,8 @@ class Linkhub
|
|
140
158
|
end
|
141
159
|
|
142
160
|
# Get Linkhub partner remain point
|
143
|
-
def getPartnerBalance(bearerToken, serviceID)
|
144
|
-
uri = URI(
|
161
|
+
def getPartnerBalance(bearerToken, serviceID, useStaticIP, useGAIP=false)
|
162
|
+
uri = URI(getServiceURL(useStaticIP, useGAIP) + "/" + serviceID + "/PartnerPoint")
|
145
163
|
|
146
164
|
headers = {
|
147
165
|
"Authorization" => "Bearer " + bearerToken,
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: linkhub
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Linkhub Dev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-01-04 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Linkhub API SDK
|
14
14
|
email: code@linkhub.co.kr
|