안녕하세요 렛플운영자입니다.
이번에 조금 삽질을 했는데, 이 노하우와 API 업체 추천까지 해보도록 하겠습니다.
휴대폰 실명인증이나 네이버/구글/페이스/애플/페이스북 등은 사실 거의 동일한 로직으로 구성이 되는데요.
건강보험 공단의 경우는 검색을 하더라도 잘 나오지 않고 , 기존의 방식과 많이 다르더라구요.
간단하게 표로 그려보자면 이런식으로 그릴 수 있을 듯 합니다.
제가 경험에 의거해서 그리다보니, 조금 다를 수는 있는데 대동소이하지 않을까 싶네요.
1) 유저에게 인증하고자하는 웹사이트로 가도록 한다.
(그냥 보낼 수도 있고, 특정 값을 같이 넘기기도 합니다.)
2) 웹사이트에 아이디와 비밀번호를 입력(혹은 인증 정보 등)하면, 리다이렉트를 통해서 웹사이트에서 키 값을 받습니다.
3) 특정 키로 , 다시 인증사이트에 유저의 정보(프로필, 결제 이력 등등)을 요청한다.
4) 받은 정보를 통해서 데이터를 처리(회원가입/로그인/실명인증 등)한다.
* 실제 금융기관이나 규모가 큰 업체는 사용자를 리다이렉트 시키지 않고, 웹 사이트자체에서 그냥 값 받아서 서버통신으로 인증하는 경우도 많습니다.
https라고 해도 보안적으로 위험하다보고 보는 금융기관이 많기 때문에 , 인증업체와 직접 전용선으로 뚫어서 보안을 한번더 강화하는 방식을 사용합니다.
우선 요즘에 상당히 많은 기관 (국민연금, 건강보험공단, 국세청) 등에서 API를 제공하고 있더라구요.
다만 직접 통신하는 것이 아닌, 중간에 이를 처리해줄 수 있는 업체들을 이에 대한 시스템을 제공하고 있습니다.
자격 조건은 사업자 등록이 나와있으면 통신할 수 있습니다.(개인사업자도 OK)
- 렛플의 케이스 : 유저의 재직 정보를 얻고자 할때
: 건강보험공단에서 제공하는 건강보험 취득일 , 상실일을 기준으로 현재 직장정보를 받을 수 있습니다.
: 직장가입자와 지역가입자를 분리해서 받을 수 있고, 직접 입력하는 것보다 입력량을 줄일 수 있고, 신뢰성 있는 데이터를 받을 수 있습니다.
- 핀테크의 케이스 : 유저의 소득 정보를 추정
: 이건 많은 핀테크회사에서 사용하는 방식입니다.
: P2P회사에서 대출여부를 판단할 때 건강보험액을 기준으로, 소득을 역 추산하는 방식을 많이 사용했습니다.
그것을 통해서 대출이 신규로 나갔을 때 적정성을 판단할 수 있습니다.
: 지금은 건강보험공단에서 년추정 소득에 대한 자료로 같이 전달해주는 것으로 알고 있습니다.
기타 여러가지 데이터를 제공하고 있으니, 이것은 제공되는 데이터를 확인해보시면 되겠습니다.
https://dataapi.co.kr/company/product/index.do?categoryfk=1
어떤 서비스를 개발하시느냐에 따라 완전히 다르긴 합니다만,
이전보다 API로 제공하는 내용들이 상당히 많습니다. 특정 원부발급에서부터 진위 확인 , 아니면 계좌 인증까지 모두 제공해주는 서비스들이 많습니다.
예전에는 직접 개발해야 했다면, 지금은 잘 가져다 쓰면 되겠네요.
원래의 표준적인 인증방식대로 하려면, 다음과 같은 방식이겠죠.
1. 유저에게 건강보험 공단웹페이지를 리다이렉트 시킨다.
2) 그다음에 건강보험공단에서 유저가 로그인한다.
3) 그러면 저희쪽으로 다시 돌아와서 저희는 키값을 받아서
4) 건강보험공단에 던져서 내용을 얻어온다 입니다.
이렇게 찾아보려고 했으나, 없드라구요. 이런 정보대신에 업체 정보만 잔뜩 나오더라구요.
1. 유저가 건강보험 공단 로그인을 할 수 있도록, 사용자의 로그인을 서버단에서 중간업체에 신청합니다.
2. 업체에서는 사용자의 정보(이름, 생년월일, 전화번호)를 가지고 건강보험에 찌르게 되는데, 그 정보가 맞으면
3. 네이버나 카카오, 패스앱 등 앱에서 사용자에게 앱 푸시를 발송합니다.(인증서 로그인)
4. 사용자는 앱 푸시를 통해서 정보제공 동의를 하고 ,반드시 사용자가 사이트에서 완료버튼을 눌러야 합니다.
5. 사이트는 공단 로그인요청시 받아놓은 인증키를 다시 중간 업체에 보내게 되면, 해당 키를 가진 유저가 정보제공 동의를 했는지 한번더 체크해서 정상이면 사용자 정보를 전달해주는 방식입니다.
확실히 복잡하긴 하죠. 사용자가 확인을 잘 못누르면, 인증이 실패합니다.
왜 이렇게 되어있는지는 모르겠지만, 현재는 표준인것 같습니다.
쭉 찾아보니 한 네개정도의 업체가 나오더라구요. API 문서가 잘 되어있긴 합니다.
하이픈 - https://hyphen.im/
데이터허브- https://dataapi.co.kr/
코데프 - https://developer.codef.io/
틸코 - https://tilko.net/
다만 기본사용량 등이 조건이 있는 업체들이 많습니다.
틸코의 경우는 기본사용량 조건이 없고 쓰는 대로 내는 방식입니다.
(광고는 아니예요ㅠ)
물론 대규로 쓰면 더 효율적인 매체가 있을 것 같긴합니다만 그정도 쓰기에는 소규모 서비스에는 적당하지 않은 것 같아서요.
(로그인 요청) https://tilko.net/Help/Api/POST-api-apiVersion-NhisSimpleAuth-SimpleAuthRequest
(자격취득실 확인) https://tilko.net/Help/Api/POST-api-apiVersion-NhisSimpleAuth-JpAea00401
사용량은 한번 호출에 100~200원 정도 소요되는 것 같습니다.
개발하시는데 도움이 되었으면 좋겠네요.