본인인증 API
본인인증 API
카카오톡 앱을 사용하여 이용자의 개인정보(이름, 생년월일, 전화번호) 또는 CI로 개인의 본인 유무를 확인하는 카카오 본인인증 API 입니다. 개발하는 웹/앱 방식에 따라 카카오톡 채널로 카카오 인증 메시지를 전송하여 인증하는 "채널메시지 인증"과 카카오 앱을 즉시 실행하여 카카오 인증 메시지 전송없이 비밀번호 입력만으로 인증하는 "앱투앱 인증" 방식 중 선택하여 연동할 수 있습니다.
1. RequestIdentity - 본인인증 요청
카카오톡 이용자에게 본인인증을 요청합니다.
public IdentityReceipt requestIdentity(String clientCode, Identity identity) throws BarocertException
Parameter
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
clientCode | String | 12 | Y | 카카오써트에 등록된 이용기관 코드 | |
identity | Identity | - | Y | 본인인증 요청 정보 |
Return IdentityReceipt Throws BarocertException
2. GetIdentityStatus - 본인인증 상태확인
본인인증 요청 후 반환받은 접수아이디로 본인인증 진행 상태를 확인합니다.
public IdentityStatus getIdentityStatus(String clientCode, String receiptID) throws BarocertException
Parameter
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
clientCode | String | 12 | Y | 카카오써트에 등록된 이용기관 코드 | |
receiptID | String | 32 | Y | 접수 아이디 |
Return IdentityStatus Throws BarocertException
3. VerifyIdentity - 본인인증 검증
완료된 전자서명을 검증하고 전자서명 데이터 전문(signedData)을 반환 받습니다.
반환받은 전자서명 데이터 전문(signedData)과 [1. RequestIdentity] 함수 호출에 입력한 Token의 동일 여부를 확인하여 이용자의 본인인증 검증을 완료합니다.
카카오 보안정책에 따라 검증 API는 1회만 호출할 수 있습니다. 재시도시 오류가 반환됩니다.
전자서명 완료일시로부터 10분 이내에 검증 API를 호출하지 않으면 오류가 반환됩니다.
public IdentityResult verifyIdentity(String clientCode, String receiptID) throws BarocertException
Parameter
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
clientCode | String | 12 | Y | 카카오써트에 등록된 이용기관 코드 | |
receiptID | String | 32 | Y | 접수 아이디 |
Return IdentityResult Throws BarocertException
4. 객체정보
4.1. BarocertException
순번 | 변수명 | 타입 | 길이 | 설명 |
---|---|---|---|---|
Code | Long | - | API 처리에 대한 응답코드 | |
message | String | - | API 처리에 대한 응답메시지 |
4.2. Identity
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
receiverHP | String | 11 | C | 수신자 휴대폰번호 └ 하이픈(-) 제외하고 입력 |
|
receiverName | String | 80 | C | 수신자 성명 | |
receiverBirthday | String | 8 | C | 수신자 생년월일 └ 형식 : yyyyMMdd |
|
ci | String | - | C | CI | |
reqTitle | String | 40 | Y | 인증요청 메시지 제목 | |
expireIn | int | 4 | Y | 요청 만료시간 └ 최대 1000까지 입력 가능(권장 : 300), 단위 : 초(s) |
|
token | String | 2800 | Y | 원문 | |
appUseYN | boolean | - | N | 앱투앱 인증 방식 이용 여부 └ True : 앱투앱 인증 └ False : 채널 메시지 인증(기본값) |
|
returnURL | String | 1000 | N | 복귀 URL └ 앱투앱 인증 이용시 호출할 URL 또는 앱스킴 |
4.3. IdentityReceipt
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
receiptId | String | 32 | Y | 접수아이디 | |
scheme | String | 100 | N | 앱스킴 └ 앱투앱 인증 이용시 반환 |
4.4. IdentityStatus
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
receiptId | String | 32 | Y | 접수아이디 | |
clientCode | String | 12 | Y | 카카오써트에 등록된 이용기관 코드 | |
state | int | 1 | Y | 상태 └ 0 : 대기 └ 1 : 완료 └ 2 : 만료 |
|
expireIn | int | 4 | Y | 요청 만료시간 └ 최대 1000 단위 : 초(s) |
|
callCenterName | String | 200 | Y | 이용기관명 | |
callCenterNum | String | 11 | Y | 이용기관 연락처 | |
reqTitle | String | 40 | Y | 인증요청 메시지 제목 | |
authCategory | String | 16 | Y | 인증분류 └ CI : CI 이용 └ PERSONAL_INFO : 개인정보 이용 |
|
requestDT | String | 14 | Y | 서명요청일시 └ 형식 : yyyyMMddHHmmss |
|
viewDT | String | 14 | N | 서명조회일시 └ 형식 : yyyyMMddHHmmss |
|
completeDT | String | 14 | N | 서명완료일시 └ 형식 : yyyyMMddHHmmss |
|
expireDT | String | 14 | N | 서명만료일시 └ 형식 : yyyyMMddHHmmss |
|
verifyDT | String | 14 | N | 서명검증일시 └ 형식 : yyyyMMddHHmmss |
|
appUseYN | boolean | - | Y | 앱투앱 인증 방식 이용 여부 └ True : 앱투앱 인증 └ False : 채널 메시지 인증 |
|
scheme | String | 100 | N | 앱스킴 | |
returnURL | String | 1000 | N | 복귀 URL └ 앱투앱 인증 이용 호출할 URL 또는 앱스킴 |
4.5. IdentityResult
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
receiptId | String | 32 | Y | 접수아이디 | |
state | int | 1 | Y | 상태 └ 0 : 대기 └ 1 : 완료 └ 2 : 만료 |
|
signedData | String | 40 | Y | 전자서명 데이터 전문 | |
ci | String | - | N | CI └ Base64 인코딩 및 AES256CTR 암호화 데이터 |