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 +4 -4
- data/lib/barocert/kakaocert.rb +22 -4
- data/lib/barocert/passcert.rb +449 -0
- data/lib/barocert.rb +17 -6
- metadata +10 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c808c567759bf5edd19f21d087867174eed7fd823151b11a05635ff99cb93a80
|
4
|
+
data.tar.gz: 06d30b281bc8e78233a1c7a2d3882d0059fce273704c5108a7ab431b36ce1a5c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8e916c4083266365861417a6c9e3df5ea084a7c1ea012e9c87fcc00a0d9fb239e2aabdfd4ecdde38e410eb7faf742bfd98ba4ba42dab01d91018baa84a59afc2
|
7
|
+
data.tar.gz: 5b974f9e73e1a55e00c97892b0236d2312c916f64bab8a01285252727f0ffe0d96cd1728dc36427e039a70d282cbe95a2b0eba67f81528d83e2070365a62f017
|
data/lib/barocert/kakaocert.rb
CHANGED
@@ -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', '본인인증 서명요청 정보가 입력되지 않았습니다.
|
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', '본인인증 서명요청 정보가 입력되지 않았습니다.
|
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', '본인인증 서명요청 정보가 입력되지 않았습니다.
|
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', '본인인증 서명요청 정보가 입력되지 않았습니다.
|
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.
|
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 @
|
54
|
-
|
60
|
+
if @_ServiceURL.nil? || @_ServiceURL == ""
|
61
|
+
if @useStaticIP
|
62
|
+
return ServiceURL_Static
|
63
|
+
else
|
64
|
+
return ServiceURL
|
65
|
+
end
|
55
66
|
else
|
56
|
-
return
|
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.
|
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-
|
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.
|
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.
|
26
|
+
version: 1.6.0
|
27
27
|
description: barocert API SDK
|
28
|
-
email:
|
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.
|
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: []
|