KCP 휴대폰 본인인증 연동 (iOS/AOS)

KCP 휴대폰 본인인증 모듈을 모바일앱 (iOS/AOS)에 연동 시 참고하실 수 있습니다.

휴대폰 본인인증 모듈은 iOS/AOS 어플리케이션 내 webview를 이용하여 연동합니다.

휴대폰 본인인증 모듈에 대한 가이드는 휴대폰 본인인증 문서를 참고하시길 바랍니다.


iOS 매뉴얼

🅐 Xcode 설정 (iOS PASS 앱 관련 스키마 등록)

통신사의 PASS 앱(간편본인확인 앱)이 업데이트됨에 따라 iOS에서 가맹점 앱 서비스를 제공하는 경우, iOS9부터 보안을 강화하는 목적으로 앱을 호출할 때 앱 스키마를 등록해주어야 합니다.

통신사
앱 스키마

SKT

tauthlink

KT

ktauthexternalcall

LG

upluscorporation

ⓐ Info.plist 파일에 LSApplicationQueriesSchemes 배열을 정의하여 앱 스키마를 등록합니다.

  • ㉠ Information Property List에 LSApplicationQueriesSchemes를 Array 타입으로 추가합니다.

  • ㉡ LSApplicationQueriesSchemes 하위 리스트에 String 타입으로 Item을 추가합니다.

  • Item 마다 앱 스키마를 입력합니다.

ⓑ KCP 휴대폰 본인인증 완료 후 key값을 넘겨받기 위해 스키마를 등록합니다.

🅑 HTML form 획득

KCP 휴대폰 본인인증 모듈 팝업을 출력하기 위해서 GET /kcp/id-verification을 통해 KCP로 제출할 HTML form을 요청해야 합니다.

GET /kcp/id-verification/form

▶ KCP 본인인증 요청하기 본인 인증을 위한 form을 생성합니다.

위 API가 아닌 임의로 form을 작성할 경우, NHN커머스 샵바이 측으로 callback을 받을 수 없습니다.

반드시 위 API 응답값으로 받은 form을 사용하시길 바랍니다.

  • 응답값은 text/html 형식의 html form 양식입니다.

  • returnURI는 scheme:// 형식으로 작성합니다. (예 shopbyexample://form 🅐 - ⓑ 이미지 참고)

  • 해당 API 호출시 request headerplatform 정보에 반드시 iOS를 입력하셔야 PASS 앱을 위한 아래의 추가변수가 form양식에 넘어옵니다.

✓ 예시코드

🅒 구현하기

ⓐ WKWebview 구성

KCP 휴대폰본인인증 모듈은 웹으로 지원되기 때문에 WKWebview로 구성해야 합니다.

ⓑ webview - LoadData

GET /kcp/id-verification호출로 전달받은 form을 webview에 로드합니다.

ⓒ form.submit()

webview의 evaluateJavaScript을 이용하여 form을 submit합니다. form이 submit되면 webview에서 새 창으로 KCP 휴대폰 본인인증 페이지가 노출됩니다.

휴대폰 본인인증 화면은 WKWebview에서 새 창으로 열릴 수 있도록 구성해 주셔야 합니다. (ⓒ참고)

evaluateJavaScript는 html 폼 양식이 완전히 로드된 후( webview didFinish시점) 호출해 주시면 됩니다.

ⓓ WKWebview 구현

WKWebview를 새 창으로 구현합니다.

아래 구현방식은 KCP 휴대폰 본인인증 연동을 위한 샘플이며, 개발 시 참고용으로 사용하시길 바랍니다.

ⓔ Key 파라미터 획득

returnURI로 전달받은 URI를 parsing하여 key값을 추출합니다. WKWebview Delegate (WKNavigationDelegate)

🅓 본인인증 결과 조회

해당 key로 본인인증 인증 성공 및 실패 여부를 판단한 뒤, 화면에 성공 및 실패 결과를 전달합니다.

GET /kcp/id-verification/response

▶ KCP 본인인증 결과 조회하기 NHN KCP 본인인증 결과를 확인합니다.

🅔 샘플코드(참고)

KCPCertViewController.swift 참고


AOS 매뉴얼

🅐 webview 세팅

KCP 본인인증을 모바일로 사용하기 위해 webview를 세팅합니다.

🅑 HTML form 획득

KCP 휴대폰 본인인증 모듈 팝업을 출력하기 위해서 GET /kcp/id-verification을 통해 KCP로 제출할 HTML form을 요청해야 합니다.

GET /kcp/id-verification/form

▶ KCP 본인인증 요청하기 본인 인증을 위한 form을 생성합니다.

위 API가 아닌 임의로 form을 작성할 경우, NHN커머스 샵바이 측으로 callback을 받을 수 없습니다.

반드시 위 API 응답값으로 받은 form을 사용하시길 바랍니다.

  • 응답값은 text/html 형식의 html form 양식입니다.

  • returnURI는 scheme:// 형식으로 작성합니다. (예 shopbyexample://form.html)

ⓐ webview - LoadData

GET /kcp/id-verification을 호출하여 전달받은 form을 webview에 로드합니다.

ⓑ form.submit()

webview의 evaluateJavaScript을 이용하여 form을 submit합니다. form이 submit되면 webview에서 KCP 휴대폰 본인인증 페이지로 리다이렉트 됩니다.

evaluateJavaScript는 html 폼 양식이 완전히 로드된 후 WebViewClient를 이용하여 호출할 수 있습니다.

ⓒ Key 파라미터 획득

본인인증이 정상적으로 끝났다면, returnURIkey값을 전달 받습니다.

WebViewClientshouldOverrideUrlLoading을 통해 key값을 추출할 수 있습니다.

🅓 본인인증 결과 조회

해당 key로 본인인증 인증 성공 및 실패 여부를 판단한 뒤, 화면에 성공 및 실패 결과를 전달합니다.

GET /kcp/id-verification/response

▶ KCP 본인인증 결과 조회하기 NHN KCP 본인인증 결과를 확인합니다.

🅔 샘플코드(참고)

MainActivity.kt 참고

Last updated

Was this helpful?