linkhub 1.2.0 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
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