본인인증 API

네이버 앱을 사용하여 이용자의 개인정보(이름, 생년월일, 휴대폰번호)로 개인의 본인 유무를 확인하는 네이버 본인인증 API 입니다. 개발하는 웹/앱 방식에 따라 네이버 앱으로 푸시(Push) 인증 메시지를 전송하여 인증하는 “푸시(Push) 인증”과 이용기관 앱에서 네이버 앱을 실행하여 네이버 인증 메시지 전송없이 비밀번호 입력만으로 인증하는 “앱투앱 인증” 방식 중 선택하여 연동할 수 있습니다.

1. RequestIdentity - 본인인증 요청

  • 네이버 이용자에게 본인인증을 요청합니다.

def requestIdentity(self, clientCode, identity):

Parameter

순번 변수명 타입 길이 필수 설명
clientCode str 12 Y 이용기관 코드
identity Identity - Y 본인인증 요청 정보

Return IdentityReceipt Throws BarocertException

2. GetIdentityStatus - 본인인증 상태확인

  • 본인인증 요청 후 반환받은 접수아이디로 본인인증 진행 상태를 확인합니다.

def getIdentityStatus(self, clientCode, receiptID):

Parameter

순번 변수명 타입 길이 필수 설명
clientCode str 12 Y 이용기관 코드
receiptID str 32 Y 접수 아이디

Return IdentityStatus Throws BarocertException

3. VerifyIdentity - 본인인증 검증

  • 완료된 전자서명을 검증하고 전자서명값(signedData)을 반환 받습니다.

  • 네이버 보안정책에 따라 검증 API는 1회만 호출할 수 있습니다. 재시도시 오류가 반환됩니다.

  • 전자서명 만료일시 이후에 검증 API를 호출하면 오류가 반환됩니다.

이용기관 서버에서는 본인인증 검증을 통해 반환받은 이용자정보(CI, 성명, 생년월일 등)와 전자서명 요청 이용자정보를 비교해 올바른 이용자인지 검증해야 합니다.
def verifyIdentity(self, clientCode, receiptID):

Parameter

순번 변수명 타입 길이 필수 설명
clientCode str 12 Y 이용기관 코드
receiptID str 32 Y 접수 아이디

Return IdentityResult Throws BarocertException

4. 객체정보

4.1. BarocertException

순번 변수명 타입 길이 필수 설명
Code int - Y API 처리에 대한 응답코드
message str - Y API 처리에 대한 응답메시지

4.2. Identity

순번 변수명 타입 길이 필수 설명
receiverHP str 11 Y 수신자 휴대폰번호
→ 하이픈(-) 제외하고 입력
receiverName str 80 Y 수신자 성명
receiverBirthday str 8 Y 수신자 생년월일
→ 형식: yyyyMMdd
callCenterNum str 12 Y 고객센터 연락처
expireIn int 4 Y 요청 만료시간
→ 최대: 1000초(s) / 권장: 300초(s)
appUseYN bool - N 앱투앱 인증 방식 이용 여부
  • True앱투앱 인증
  • False푸시(Push) 인증 : 기본값
deviceOSType str 7 조건부 모바일장비 운영체제
  • ANDROID
  • IOS

appUseYN=True 경우 필수

returnURL str 1000 조건부 복귀 URL
→ 앱투앱 인증 이용시 호출할 URL 또는 앱스킴
→ "http", "https"등의 웹프로토콜 사용 불가

appUseYN=True 경우 필수

4.3. IdentityReceipt

순번 변수명 타입 길이 필수 설명
receiptID str 32 Y 접수아이디
scheme str - N 앱스킴

appUseYN=True 경우 반환

marketUrl str - N 앱 다운로드 URL

appUseYN=True 경우 반환

4.4. IdentityStatus

순번 변수명 타입 길이 필수 설명
receiptID str 32 Y 접수아이디
clientCode str 12 Y 이용기관 코드
state int 1 Y 상태
  • 0대기
  • 1완료
  • 2만료
expireDT str 14 Y 전자서명 만료일시
→ 형식: yyyyMMddHHmmss

4.5. IdentityResult

순번 변수명 타입 길이 필수 설명
receiptID str 32 Y 접수아이디
state int 1 Y 상태
  • 0대기
  • 1완료
  • 2만료
receiverName str 80 Y AES 암호화 수신자 성명
receiverYear str 4 Y AES 암호화 수신자 출생년도
→ 형식 : yyyy
receiverDay str 4 Y AES 암호화 수신자 출생월일
→ 형식 : MMdd
receiverHP str 11 Y AES 암호화 수신자 휴대폰번호
receiverGender str 1 Y AES 암호화 수신자 성별
  • M남성
  • F여성
receiverEmail str - Y AES 암호화 수신자 이메일
receiverForeign str 1 Y AES 암호화 외국인 여부
  • Y외국인
  • N내국인
signedData str - Y 전자서명값
ci str - N AES 암호화 CI