본인인증 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 암호화 데이터