barocert 1.0.1 → 1.1.1

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: 5ed25b82dbb70d73b0f1cbfbb6b27bb5b4d90fb8c18a249e68f1db80270d4ac4
4
- data.tar.gz: b80dae9f663a1506e05324b760990355d35d994af02892eb5000f6d4a6c38c71
3
+ metadata.gz: c808c567759bf5edd19f21d087867174eed7fd823151b11a05635ff99cb93a80
4
+ data.tar.gz: 06d30b281bc8e78233a1c7a2d3882d0059fce273704c5108a7ab431b36ce1a5c
5
5
  SHA512:
6
- metadata.gz: 124ec48a21806f7398424869c2c99dbd311b791956fabecb37b9683dd2d8b73c031984c763e596bc8796ef278c3f34bc26a80fad0dbf072ca0dae4646d762eea
7
- data.tar.gz: ed77724cf7f5cb4199c987d4696da9f6cd47f8995018eac9032d3c1e73fe50c9dcbc9599dcbb278197a95808bb3c8936b8fbca195317e4846af00d8f60443382
6
+ metadata.gz: 8e916c4083266365861417a6c9e3df5ea084a7c1ea012e9c87fcc00a0d9fb239e2aabdfd4ecdde38e410eb7faf742bfd98ba4ba42dab01d91018baa84a59afc2
7
+ data.tar.gz: 5b974f9e73e1a55e00c97892b0236d2312c916f64bab8a01285252727f0ffe0d96cd1728dc36427e039a70d282cbe95a2b0eba67f81528d83e2070365a62f017
@@ -14,6 +14,7 @@ class KakaocertService < BarocertService
14
14
  @instance.addScope("402")
15
15
  @instance.addScope("403")
16
16
  @instance.addScope("404")
17
+ @instance.addScope("405")
17
18
  return @instance
18
19
  end
19
20
  private :new
@@ -79,7 +80,7 @@ class KakaocertService < BarocertService
79
80
  raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
80
81
  end
81
82
  if identity.nil?
82
- raise BarocertException.new('-99999999', '본인인증 서명요청 정보가 입력되지 않았습니다.s')
83
+ raise BarocertException.new('-99999999', '본인인증 서명요청 정보가 입력되지 않았습니다.')
83
84
  end
84
85
  if identity["receiverHP"].to_s == ''
85
86
  raise BarocertException.new('-99999999', '수신자 휴대폰번호가 입력되지 않았습니다.')
@@ -164,7 +165,7 @@ class KakaocertService < BarocertService
164
165
  raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
165
166
  end
166
167
  if sign.nil?
167
- raise BarocertException.new('-99999999', '본인인증 서명요청 정보가 입력되지 않았습니다.s')
168
+ raise BarocertException.new('-99999999', '본인인증 서명요청 정보가 입력되지 않았습니다.')
168
169
  end
169
170
  if sign["receiverHP"].to_s == ''
170
171
  raise BarocertException.new('-99999999', '수신자 휴대폰번호가 입력되지 않았습니다.')
@@ -251,7 +252,7 @@ class KakaocertService < BarocertService
251
252
  raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
252
253
  end
253
254
  if multiSign.nil?
254
- raise BarocertException.new('-99999999', '본인인증 서명요청 정보가 입력되지 않았습니다.s')
255
+ raise BarocertException.new('-99999999', '본인인증 서명요청 정보가 입력되지 않았습니다.')
255
256
  end
256
257
  if multiSign["receiverHP"].to_s == ''
257
258
  raise BarocertException.new('-99999999', '수신자 휴대폰번호가 입력되지 않았습니다.')
@@ -343,7 +344,7 @@ class KakaocertService < BarocertService
343
344
  raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
344
345
  end
345
346
  if cms.nil?
346
- raise BarocertException.new('-99999999', '본인인증 서명요청 정보가 입력되지 않았습니다.s')
347
+ raise BarocertException.new('-99999999', '본인인증 서명요청 정보가 입력되지 않았습니다.')
347
348
  end
348
349
  if cms["receiverHP"].to_s == ''
349
350
  raise BarocertException.new('-99999999', '수신자 휴대폰번호가 입력되지 않았습니다.')
@@ -435,6 +436,23 @@ class KakaocertService < BarocertService
435
436
 
436
437
  httppost("/KAKAO/CMS/#{clientCode}/#{receiptID}")
437
438
  end
439
+
440
+ def verifyLogin(clientCode, txID)
441
+ if clientCode.to_s == ''
442
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
443
+ end
444
+ if clientCode.is_i? == false
445
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
446
+ end
447
+ if clientCode.length != 12
448
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
449
+ end
450
+ if txID.to_s == ''
451
+ raise BarocertException.new('-99999999', '트랜잭션 아이디가 입력되지 않았습니다.')
452
+ end
453
+
454
+ httppost("/KAKAO/Login/#{clientCode}/#{txID}")
455
+ end
438
456
  end
439
457
 
440
458
  class String
@@ -0,0 +1,449 @@
1
+ # -*- coding: utf-8 -*-
2
+ require_relative '../barocert.rb'
3
+ require 'openssl'
4
+ require 'base64'
5
+
6
+ # passcert API BaseService class
7
+ class PasscertService < BarocertService
8
+ # Generate Linkhub Class Singleton Instance
9
+ class << self
10
+ def instance(linkID, secretKey)
11
+ super(linkID, secretKey)
12
+ @instance ||= new
13
+ @instance.addScope("441")
14
+ @instance.addScope("442")
15
+ @instance.addScope("443")
16
+ @instance.addScope("444")
17
+ return @instance
18
+ end
19
+ private :new
20
+ end
21
+
22
+ def _encrypt(plaintext)
23
+ return aes256gcm(plaintext, @linkhub._secretKey)
24
+ end
25
+
26
+ def aes256gcm(plaintext, key)
27
+ iv = OpenSSL::Random.random_bytes(12)
28
+ cipher = OpenSSL::Cipher.new('aes-256-gcm')
29
+ cipher.encrypt
30
+ cipher.key = Base64.decode64(key)
31
+ cipher.iv = iv
32
+ ciphertext = cipher.update(plaintext) + cipher.final
33
+ return Base64.strict_encode64(iv + ciphertext + cipher.auth_tag)
34
+ end
35
+
36
+ def isNumber(str)
37
+ return str.is_i?
38
+ end
39
+
40
+ def isNullorEmptyTitle(tokens)
41
+ if tokens.nil?
42
+ return true
43
+ end
44
+ tokens.each{ |token|
45
+ if token.nil?
46
+ return true
47
+ end
48
+ if token["reqTitle"].to_s == ''
49
+ return true
50
+ end
51
+ }
52
+ false
53
+ end
54
+
55
+ def isNullorEmptyToken(tokens)
56
+ if tokens.nil?
57
+ return true
58
+ end
59
+ tokens.each{ |token|
60
+ if token.nil?
61
+ return true
62
+ end
63
+ if token["token"].to_s == ''
64
+ return true
65
+ end
66
+ }
67
+ false
68
+ end
69
+
70
+ def requestIdentity(clientCode, identity)
71
+
72
+ if clientCode.to_s == ''
73
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
74
+ end
75
+ if clientCode.is_i? == false
76
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
77
+ end
78
+ if clientCode.length != 12
79
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
80
+ end
81
+ if identity.nil?
82
+ raise BarocertException.new('-99999999', '본인인증 서명요청 정보가 입력되지 않았습니다.')
83
+ end
84
+ if identity["receiverHP"].to_s == ''
85
+ raise BarocertException.new('-99999999', '수신자 휴대폰번호가 입력되지 않았습니다.')
86
+ end
87
+ if identity["receiverName"].to_s == ''
88
+ raise BarocertException.new('-99999999', '수신자 성명이 입력되지 않았습니다.')
89
+ end
90
+ if identity["reqTitle"].to_s == ''
91
+ raise BarocertException.new('-99999999', '인증요청 메시지 제목이 입력되지 않았습니다.')
92
+ end
93
+ if identity["callCenterNum"].to_s == ''
94
+ raise BarocertException.new('-99999999', '고객센터 연락처가 입력되지 않았습니다.')
95
+ end
96
+ if identity["expireIn"].to_s == ''
97
+ raise BarocertException.new('-99999999', '만료시간이 입력되지 않았습니다.')
98
+ end
99
+ if identity["token"].to_s == ''
100
+ raise BarocertException.new('-99999999', '토큰 원문이 입력되지 않았습니다.')
101
+ end
102
+
103
+ httppost("/PASS/Identity/#{clientCode}", identity.to_json)
104
+ end
105
+
106
+ def getIdentityStatus(clientCode, receiptID)
107
+ puts receiptID
108
+ if clientCode.to_s == ''
109
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
110
+ end
111
+ if clientCode.is_i? == false
112
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
113
+ end
114
+ if clientCode.length != 12
115
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
116
+ end
117
+ if receiptID.to_s == ''
118
+ raise BarocertException.new('-99999999', '접수아이디가 입력되지 않았습니다.')
119
+ end
120
+ if receiptID.is_i? == false
121
+ raise BarocertException.new('-99999999', '접수아이디는 숫자만 입력할 수 있습니다.')
122
+ end
123
+ if receiptID.length != 32
124
+ raise BarocertException.new('-99999999', '접수아이디는 32자 입니다.')
125
+ end
126
+
127
+ httpget("/PASS/Identity/#{clientCode}/#{receiptID}")
128
+ end
129
+
130
+ def verifyIdentity(clientCode, receiptID, identityVerify)
131
+ if clientCode.to_s == ''
132
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
133
+ end
134
+ if clientCode.is_i? == false
135
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
136
+ end
137
+ if clientCode.length != 12
138
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
139
+ end
140
+ if receiptID.to_s == ''
141
+ raise BarocertException.new('-99999999', '접수아이디가 입력되지 않았습니다.')
142
+ end
143
+ if receiptID.is_i? == false
144
+ raise BarocertException.new('-99999999', '접수아이디는 숫자만 입력할 수 있습니다.')
145
+ end
146
+ if receiptID.length != 32
147
+ raise BarocertException.new('-99999999', '접수아이디는 32자 입니다.')
148
+ end
149
+ if identityVerify.nil?
150
+ raise BarocertException.new('-99999999', '본인인증 검증 요청 정보가 입력되지 않았습니다.')
151
+ end
152
+ if identityVerify["receiverHP"].to_s == ''
153
+ raise BarocertException.new('-99999999', '수신자 휴대폰번호가 입력되지 않았습니다.')
154
+ end
155
+ if identityVerify["receiverName"].to_s == ''
156
+ raise BarocertException.new('-99999999', '수신자 성명이 입력되지 않았습니다.')
157
+ end
158
+
159
+ httppost("/PASS/Identity/#{clientCode}/#{receiptID}", identityVerify.to_json)
160
+ end
161
+
162
+ def requestSign(clientCode, sign)
163
+ if clientCode.to_s == ''
164
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
165
+ end
166
+ if clientCode.is_i? == false
167
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
168
+ end
169
+ if clientCode.length != 12
170
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
171
+ end
172
+ if sign.nil?
173
+ raise BarocertException.new('-99999999', '전자서명 요청정보가 입력되지 않았습니다.')
174
+ end
175
+ if sign["receiverHP"].to_s == ''
176
+ raise BarocertException.new('-99999999', '수신자 휴대폰번호가 입력되지 않았습니다.')
177
+ end
178
+ if sign["receiverName"].to_s == ''
179
+ raise BarocertException.new('-99999999', '수신자 성명이 입력되지 않았습니다.')
180
+ end
181
+ if sign["reqTitle"].to_s == ''
182
+ raise BarocertException.new('-99999999', '인증요청 메시지 제목이 입력되지 않았습니다.')
183
+ end
184
+ if sign["callCenterNum"].to_s == ''
185
+ raise BarocertException.new('-99999999', '고객센터 연락처가 입력되지 않았습니다.')
186
+ end
187
+ if sign["expireIn"].to_s == ''
188
+ raise BarocertException.new('-99999999', '만료시간이 입력되지 않았습니다.')
189
+ end
190
+ if sign["token"].to_s == ''
191
+ raise BarocertException.new('-99999999', '토큰 원문이 입력되지 않았습니다.')
192
+ end
193
+ if sign["tokenType"].to_s == ''
194
+ raise BarocertException.new('-99999999', '원문 유형이 입력되지 않았습니다.')
195
+ end
196
+ httppost("/PASS/Sign/#{clientCode}", sign.to_json)
197
+ end
198
+
199
+ def getSignStatus(clientCode, receiptID)
200
+ if clientCode.to_s == ''
201
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
202
+ end
203
+ if clientCode.is_i? == false
204
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
205
+ end
206
+ if clientCode.length != 12
207
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
208
+ end
209
+ if receiptID.to_s == ''
210
+ raise BarocertException.new('-99999999', '접수아이디가 입력되지 않았습니다.')
211
+ end
212
+ if receiptID.is_i? == false
213
+ raise BarocertException.new('-99999999', '접수아이디는 숫자만 입력할 수 있습니다.')
214
+ end
215
+ if receiptID.length != 32
216
+ raise BarocertException.new('-99999999', '접수아이디는 32자 입니다.')
217
+ end
218
+
219
+ httpget("/PASS/Sign/#{clientCode}/#{receiptID}")
220
+ end
221
+
222
+ def verifySign(clientCode, receiptID, signVerify)
223
+ if clientCode.to_s == ''
224
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
225
+ end
226
+ if clientCode.is_i? == false
227
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
228
+ end
229
+ if clientCode.length != 12
230
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
231
+ end
232
+ if receiptID.to_s == ''
233
+ raise BarocertException.new('-99999999', '접수아이디가 입력되지 않았습니다.')
234
+ end
235
+ if receiptID.is_i? == false
236
+ raise BarocertException.new('-99999999', '접수아이디는 숫자만 입력할 수 있습니다.')
237
+ end
238
+ if receiptID.length != 32
239
+ raise BarocertException.new('-99999999', '접수아이디는 32자 입니다.')
240
+ end
241
+ if signVerify.nil?
242
+ raise BarocertException.new('-99999999', '전자서명 검증 요청 정보가 입력되지 않았습니다.')
243
+ end
244
+ if signVerify["receiverHP"].to_s == ''
245
+ raise BarocertException.new('-99999999', '수신자 휴대폰번호가 입력되지 않았습니다.')
246
+ end
247
+ if signVerify["receiverName"].to_s == ''
248
+ raise BarocertException.new('-99999999', '수신자 성명이 입력되지 않았습니다.')
249
+ end
250
+
251
+ httppost("/PASS/Sign/#{clientCode}/#{receiptID}", signVerify.to_json)
252
+ end
253
+
254
+ def requestCMS(clientCode, cms)
255
+ if clientCode.to_s == ''
256
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
257
+ end
258
+ if clientCode.is_i? == false
259
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
260
+ end
261
+ if clientCode.length != 12
262
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
263
+ end
264
+ if cms.nil?
265
+ raise BarocertException.new('-99999999', '출금동의 서명요청 정보가 입력되지 않았습니다.')
266
+ end
267
+ if cms["receiverHP"].to_s == ''
268
+ raise BarocertException.new('-99999999', '수신자 휴대폰번호가 입력되지 않았습니다.')
269
+ end
270
+ if cms["receiverName"].to_s == ''
271
+ raise BarocertException.new('-99999999', '수신자 성명이 입력되지 않았습니다.')
272
+ end
273
+ if cms["reqTitle"].to_s == ''
274
+ raise BarocertException.new('-99999999', '인증요청 메시지 제목이 입력되지 않았습니다.')
275
+ end
276
+ if cms["callCenterNum"].to_s == ''
277
+ raise BarocertException.new('-99999999', '고객센터 연락처가 입력되지 않았습니다.')
278
+ end
279
+ if cms["expireIn"].to_s == ''
280
+ raise BarocertException.new('-99999999', '만료시간이 입력되지 않았습니다.')
281
+ end
282
+ if cms["bankName"].to_s == ''
283
+ raise BarocertException.new('-99999999', '출금은행명이 입력되지 않았습니다.')
284
+ end
285
+ if cms["bankAccountNum"].to_s == ''
286
+ raise BarocertException.new('-99999999', '출금계좌번호가 입력되지 않았습니다.')
287
+ end
288
+ if cms["bankAccountName"].to_s == ''
289
+ raise BarocertException.new('-99999999', '출금계좌 예금주명이 입력되지 않았습니다.')
290
+ end
291
+ if cms["bankServiceType"].to_s == ''
292
+ raise BarocertException.new('-99999999', '출금 유형이 입력되지 않았습니다.')
293
+ end
294
+ httppost("/PASS/CMS/#{clientCode}", cms.to_json)
295
+ end
296
+
297
+ def getCMSStatus(clientCode, receiptID)
298
+ if clientCode.to_s == ''
299
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
300
+ end
301
+ if clientCode.is_i? == false
302
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
303
+ end
304
+ if clientCode.length != 12
305
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
306
+ end
307
+ if receiptID.to_s == ''
308
+ raise BarocertException.new('-99999999', '접수아이디가 입력되지 않았습니다.')
309
+ end
310
+ if receiptID.is_i? == false
311
+ raise BarocertException.new('-99999999', '접수아이디는 숫자만 입력할 수 있습니다.')
312
+ end
313
+ if receiptID.length != 32
314
+ raise BarocertException.new('-99999999', '접수아이디는 32자 입니다.')
315
+ end
316
+
317
+ httpget("/PASS/CMS/#{clientCode}/#{receiptID}")
318
+ end
319
+
320
+ def verifyCMS(clientCode, receiptID, cmsVerify)
321
+ if clientCode.to_s == ''
322
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
323
+ end
324
+ if clientCode.is_i? == false
325
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
326
+ end
327
+ if clientCode.length != 12
328
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
329
+ end
330
+ if receiptID.to_s == ''
331
+ raise BarocertException.new('-99999999', '접수아이디가 입력되지 않았습니다.')
332
+ end
333
+ if receiptID.is_i? == false
334
+ raise BarocertException.new('-99999999', '접수아이디는 숫자만 입력할 수 있습니다.')
335
+ end
336
+ if receiptID.length != 32
337
+ raise BarocertException.new('-99999999', '접수아이디는 32자 입니다.')
338
+ end
339
+ if cmsVerify.nil?
340
+ raise BarocertException.new('-99999999', '출금동의 검증 요청 정보가 입력되지 않았습니다.')
341
+ end
342
+ if cmsVerify["receiverHP"].to_s == ''
343
+ raise BarocertException.new('-99999999', '수신자 휴대폰번호가 입력되지 않았습니다.')
344
+ end
345
+ if cmsVerify["receiverName"].to_s == ''
346
+ raise BarocertException.new('-99999999', '수신자 성명이 입력되지 않았습니다.')
347
+ end
348
+
349
+ httppost("/PASS/CMS/#{clientCode}/#{receiptID}", cmsVerify.to_json)
350
+ end
351
+
352
+ def requestLogin(clientCode, login)
353
+
354
+ if clientCode.to_s == ''
355
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
356
+ end
357
+ if clientCode.is_i? == false
358
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
359
+ end
360
+ if clientCode.length != 12
361
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
362
+ end
363
+ if login.nil?
364
+ raise BarocertException.new('-99999999', '간편로그인 서명요청 정보가 입력되지 않았습니다.s')
365
+ end
366
+ if login["receiverHP"].to_s == ''
367
+ raise BarocertException.new('-99999999', '수신자 휴대폰번호가 입력되지 않았습니다.')
368
+ end
369
+ if login["receiverName"].to_s == ''
370
+ raise BarocertException.new('-99999999', '수신자 성명이 입력되지 않았습니다.')
371
+ end
372
+ if login["reqTitle"].to_s == ''
373
+ raise BarocertException.new('-99999999', '인증요청 메시지 제목이 입력되지 않았습니다.')
374
+ end
375
+ if login["callCenterNum"].to_s == ''
376
+ raise BarocertException.new('-99999999', '고객센터 연락처가 입력되지 않았습니다.')
377
+ end
378
+ if login["expireIn"].to_s == ''
379
+ raise BarocertException.new('-99999999', '만료시간이 입력되지 않았습니다.')
380
+ end
381
+ if login["token"].to_s == ''
382
+ raise BarocertException.new('-99999999', '토큰 원문이 입력되지 않았습니다.')
383
+ end
384
+
385
+ httppost("/PASS/Login/#{clientCode}", login.to_json)
386
+ end
387
+
388
+ def getLoginStatus(clientCode, receiptID)
389
+ puts receiptID
390
+ if clientCode.to_s == ''
391
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
392
+ end
393
+ if clientCode.is_i? == false
394
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
395
+ end
396
+ if clientCode.length != 12
397
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
398
+ end
399
+ if receiptID.to_s == ''
400
+ raise BarocertException.new('-99999999', '접수아이디가 입력되지 않았습니다.')
401
+ end
402
+ if receiptID.is_i? == false
403
+ raise BarocertException.new('-99999999', '접수아이디는 숫자만 입력할 수 있습니다.')
404
+ end
405
+ if receiptID.length != 32
406
+ raise BarocertException.new('-99999999', '접수아이디는 32자 입니다.')
407
+ end
408
+
409
+ httpget("/PASS/Login/#{clientCode}/#{receiptID}")
410
+ end
411
+
412
+ def verifyLogin(clientCode, receiptID, loginVerify)
413
+ if clientCode.to_s == ''
414
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
415
+ end
416
+ if clientCode.is_i? == false
417
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
418
+ end
419
+ if clientCode.length != 12
420
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
421
+ end
422
+ if receiptID.to_s == ''
423
+ raise BarocertException.new('-99999999', '접수아이디가 입력되지 않았습니다.')
424
+ end
425
+ if receiptID.is_i? == false
426
+ raise BarocertException.new('-99999999', '접수아이디는 숫자만 입력할 수 있습니다.')
427
+ end
428
+ if receiptID.length != 32
429
+ raise BarocertException.new('-99999999', '접수아이디는 32자 입니다.')
430
+ end
431
+ if loginVerify.nil?
432
+ raise BarocertException.new('-99999999', '간편로그인 검증 요청 정보가 입력되지 않았습니다.')
433
+ end
434
+ if loginVerify["receiverHP"].to_s == ''
435
+ raise BarocertException.new('-99999999', '수신자 휴대폰번호가 입력되지 않았습니다.')
436
+ end
437
+ if loginVerify["receiverName"].to_s == ''
438
+ raise BarocertException.new('-99999999', '수신자 성명이 입력되지 않았습니다.')
439
+ end
440
+
441
+ httppost("/PASS/Login/#{clientCode}/#{receiptID}", loginVerify.to_json)
442
+ end
443
+ end
444
+
445
+ class String
446
+ def is_i?
447
+ !!(self =~ /^\d+$/)
448
+ end
449
+ end
data/lib/barocert.rb CHANGED
@@ -10,7 +10,7 @@ class BarocertService
10
10
  ServiceID_REAL = "BAROCERT"
11
11
  ServiceURL = "https://barocert.linkhub.co.kr"
12
12
  ServiceURL_Static = "https://static-barocert.linkhub.co.kr"
13
- APIVersion = "2.0"
13
+ APIVersion = "2.1"
14
14
  BOUNDARY = "==BAROCERT_RUBY_SDK=="
15
15
 
16
16
  attr_accessor :token_table, :scopes, :linkhub, :ipRestrictOnOff, :useStaticIP, :useLocalTimeYN
@@ -31,7 +31,6 @@ class BarocertService
31
31
  private :new
32
32
  end
33
33
 
34
-
35
34
  # add Service Scope array
36
35
  def addScope(scopeValue)
37
36
  @scopes.push(scopeValue)
@@ -49,11 +48,23 @@ class BarocertService
49
48
  @useLocalTimeYN = value
50
49
  end
51
50
 
51
+ def setServiceURL(value)
52
+ @_ServiceURL = value
53
+ end
54
+
55
+ def setAuthURL(value)
56
+ @linkhub.setServiceURL(value)
57
+ end
58
+
52
59
  def getServiceURL()
53
- if @useStaticIP
54
- return ServiceURL_Static
60
+ if @_ServiceURL.nil? || @_ServiceURL == ""
61
+ if @useStaticIP
62
+ return ServiceURL_Static
63
+ else
64
+ return ServiceURL
65
+ end
55
66
  else
56
- return ServiceURL
67
+ return @_ServiceURL
57
68
  end
58
69
  end
59
70
 
@@ -139,11 +150,11 @@ class BarocertService
139
150
  date = @linkhub.getTime(@useStaticIP, false)
140
151
 
141
152
  hmacTarget = "POST\n"
142
- hmacTarget += url + "\n"
143
153
  if postData != nil
144
154
  hmacTarget += Base64.strict_encode64(Digest::SHA256.digest(postData)) + "\n"
145
155
  end
146
156
  hmacTarget += date + "\n"
157
+ hmacTarget += url + "\n"
147
158
 
148
159
  key = Base64.decode64(@linkhub._secretKey)
149
160
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: barocert
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Linkhub Dev
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-14 00:00:00.000000000 Z
11
+ date: 2023-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: linkhub
@@ -16,27 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 1.5.0
19
+ version: 1.6.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 1.5.0
26
+ version: 1.6.0
27
27
  description: barocert API SDK
28
- email: dev@linkhub.co.kr
28
+ email: code@linkhub.co.kr
29
29
  executables: []
30
30
  extensions: []
31
31
  extra_rdoc_files: []
32
32
  files:
33
33
  - lib/barocert.rb
34
34
  - lib/barocert/kakaocert.rb
35
+ - lib/barocert/passcert.rb
35
36
  homepage: https://github.com/barocert/barocert.ruby
36
37
  licenses:
37
38
  - MIT
38
39
  metadata: {}
39
- post_install_message:
40
+ post_install_message:
40
41
  rdoc_options: []
41
42
  require_paths:
42
43
  - lib
@@ -51,8 +52,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
51
52
  - !ruby/object:Gem::Version
52
53
  version: '0'
53
54
  requirements: []
54
- rubygems_version: 3.0.3.1
55
- signing_key:
55
+ rubygems_version: 3.1.4
56
+ signing_key:
56
57
  specification_version: 4
57
58
  summary: barocert API SDK
58
59
  test_files: []