barocert 1.0.1 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5ed25b82dbb70d73b0f1cbfbb6b27bb5b4d90fb8c18a249e68f1db80270d4ac4
4
- data.tar.gz: b80dae9f663a1506e05324b760990355d35d994af02892eb5000f6d4a6c38c71
3
+ metadata.gz: 9a9a32c383242f5463e1ee60e9854113670b0c4c75dbf398815e17d5f0b0339e
4
+ data.tar.gz: 629260bf762f566f4e540899f43317d8cd53b8cb931c6e909a558517a88ac3a4
5
5
  SHA512:
6
- metadata.gz: 124ec48a21806f7398424869c2c99dbd311b791956fabecb37b9683dd2d8b73c031984c763e596bc8796ef278c3f34bc26a80fad0dbf072ca0dae4646d762eea
7
- data.tar.gz: ed77724cf7f5cb4199c987d4696da9f6cd47f8995018eac9032d3c1e73fe50c9dcbc9599dcbb278197a95808bb3c8936b8fbca195317e4846af00d8f60443382
6
+ metadata.gz: 5591835632af50fa867e22ec12384b3e2317fd73e0a3b489590ebc3502ce73a44fb938c3ce6b74d5c9337ef8953bda0ce8e7bcbfb0b30117016be7fdb11919bd
7
+ data.tar.gz: f9c5539e34d221338681868367915912597c1ab09bbfffc4682ea5315a2397f5b5072d991a5ba6af91faf78d0a21db79a34b2fd7016f46f0989f6ad637ad88ed
@@ -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,10 +10,10 @@ 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
- attr_accessor :token_table, :scopes, :linkhub, :ipRestrictOnOff, :useStaticIP, :useLocalTimeYN
16
+ attr_accessor :token_table, :scopes, :linkhub, :ipRestrictOnOff, :useStaticIP, :useLocalTimeYN, :__ServiceURL
17
17
 
18
18
  # Generate Linkhub Class Singleton Instance
19
19
  class << self
@@ -25,13 +25,13 @@ class BarocertService
25
25
  @instance.ipRestrictOnOff = false
26
26
  @instance.useStaticIP = false
27
27
  @instance.useLocalTimeYN = true
28
+ @instance.__ServiceURL = ""
28
29
  return @instance
29
30
  end
30
31
 
31
32
  private :new
32
33
  end
33
34
 
34
-
35
35
  # add Service Scope array
36
36
  def addScope(scopeValue)
37
37
  @scopes.push(scopeValue)
@@ -49,11 +49,19 @@ class BarocertService
49
49
  @useLocalTimeYN = value
50
50
  end
51
51
 
52
+ def setServiceURL(value)
53
+ @__ServiceURL = value
54
+ end
55
+
52
56
  def getServiceURL()
53
- if @useStaticIP
54
- return ServiceURL_Static
57
+ if @__ServiceURL.nil? || @__ServiceURL == ""
58
+ if @useStaticIP
59
+ return ServiceURL_Static
60
+ else
61
+ return ServiceURL
62
+ end
55
63
  else
56
- return ServiceURL
64
+ return @__ServiceURL
57
65
  end
58
66
  end
59
67
 
@@ -139,11 +147,11 @@ class BarocertService
139
147
  date = @linkhub.getTime(@useStaticIP, false)
140
148
 
141
149
  hmacTarget = "POST\n"
142
- hmacTarget += url + "\n"
143
150
  if postData != nil
144
151
  hmacTarget += Base64.strict_encode64(Digest::SHA256.digest(postData)) + "\n"
145
152
  end
146
153
  hmacTarget += date + "\n"
154
+ hmacTarget += url + "\n"
147
155
 
148
156
  key = Base64.decode64(@linkhub._secretKey)
149
157
 
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.0
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-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: linkhub
@@ -25,18 +25,19 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: 1.5.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: []