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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/linkhub.rb +39 -21
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 912337f638e0b6c8a6ca840e650d9704427c340b
4
- data.tar.gz: 193e4df9e4e57be0cfd80ded797bfbdb6b962cf0
3
+ metadata.gz: 9a974fa63fe8c7bcdedaec707b69c412350f3eca
4
+ data.tar.gz: 88ca42e2b9a7c44b47ec716a8e67567e6ab0cdb1
5
5
  SHA512:
6
- metadata.gz: 21573eb23b6bd124a46f8eb27a23425e474f593bcb3c1de8c14113c716d6487cdcb6c43a6445631993700cc4f08fa187f7a6be08263133e3a3315ff12c79b0e7
7
- data.tar.gz: 3289ac44a1faf5b03e443cb81dea5c683e496179e64c14d187ccb1c5cf4b22c11ad56c322ad2b838f6491197371c97ec052caa426d343bac496c30a76fad8bf9
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 = "1.0"
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(LINKHUB_ServiceURL + "/" + serviceid + "/Token")
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::MD5.digest(postData)) + "\n"
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("sha1")
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
- uri = URI(LINKHUB_ServiceURL + "/Time")
88
- res = Net::HTTP.get_response(uri)
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
- raise LinkhubException.new(-99999999,
94
- "failed get Time from Linkhub API server")
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(LINKHUB_ServiceURL + "/" + serviceID + "/URL?TG=" + togo)
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(LINKHUB_ServiceURL + "/" + serviceID + "/Point")
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(LINKHUB_ServiceURL + "/" + serviceID + "/PartnerPoint")
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.2.0
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: 2019-09-25 00:00:00.000000000 Z
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