실명인증 혹은 그에 버금가는 이중인증 기능 홈페이지에 넣는 거 배우기 쉬운가요? 배우려면 어떤 게 있나요?
제가 아는 한도 내에서 답변 드리겠습니다.
혹시 틀린 설명이 있으면 댓글 달아주시기 바랍니다…
아이디 / 비밀번호 인증을 제외한 다른 인증방식을 원하신다면…
전화번호 실명인증
단순 SMS 문자 인증
단순 이메일 인증
정도가 있을거 같네요…
일단 전화번호 실명 인증의 경우 우리가 통신사 (SK,LGU+,KT 등) 데이터에 접근할 수 없기 때문에 인증업체의 API 를 사용해야 합니다…
아래 링크같은 사이트에 가입하여 업체에서 제공하는 API(소스코드) 를 홈페이지 설치하는 방식으로 연동하는 것으로 알고 있습니다.
https://www.niceid.co.kr/prod_mobile.nc
업체 측 설명에 따르면 숙련된 개발자라면 몇 시간내 연동이 가능하다고 설명하고 있네요… 아예 초보자인 경우에는 연동이 좀 어려울 수도 있을 것 같습니다…
연동에 성공한다면 우리가 실명인증에 흔히 볼 수 있는 화면 (전화번호,이름,통신사,생년월일 입력 창, PASS APP,아이핀 사용 여부 선택화면 등) 을 구현할 필요 없이 업체 측에서 제공한 화면이 홈페이지에 뜨게 됩니다.
이 방식은 실명과 전화번호를 입력받기 때문에 개인정보 처리 방식을 홈페이지에 고지해야 하는 등 법률적 제약을 받습니다. 이 부분에 대해서는 따로 알아보시기 바랍니다.
사업자등록이 필요하고 업체의 서비스 신청 등의 절차를 거쳐야 합니다. 그리고 수수료가 발생합니다.
단순 SMS 인증 방식의 경우 홈페이지의 backend 에서 SMS 문자를 보낼 수 있어야 하는데 이것 또한 자체 구현 하기는 어렵고 보통은 클라우드 업체의 SMS 서비스를 이용하는 것이 보통입니다.
그리고 문자를 보낼때 건당 수수료가 발생합니다.
네이버 클라우드 SMS 서비스의 경우 월 50건까지는 무료이고 이후에는 건당 9원이 발생하는 것으로 되어있네요…
이 방식을 사용한다면 인증 절차는 아래와 같습니다.
- 사용자가 SMS 인증을 요청함 (전화번호를 입력받음)
- backend 가 임의의 인증번호(난수)를 생성
- 네이버클라우드 SMS 서비스를 이용하여 사용자에게 문자를 보냄
- 사용자가 문자를 받아 다시 홈페이지 폼에 입력
- 인증 완료
그러니 전화번호 입력폼, 서버에서 난수 생성, 네이버클라우드에 SMS 전송 요청, 사용자의 입력 확인 등의 기능을 구현해야 합니다.
단순 이메일 인증방식도 비슷한데 SMS 를 보내는 기능이 메일을 보내는 기능으로 대체되는 것으로 생각하시면 됩니다.
똑같이 네이버 클라우드 에서 제공하는 mail 서비스를 이용하시거나 아래 사이트 같은 업체에서 제공하는 메일 전송 서비스를 이용하여 구현이 가능합니다.
이 또한 수수료가 발생합니다.
위 사이트의 경우 한달에 5,000 건이 무료이고 이후로는 1,000 건당 1$ 의 수수료가 발생하네요…
마지막으로 google 같은 곳에서 제공하는 firebase 나 AWS 의 amplify 등의 사용자 관리 서비스를 사용하는 방식이 있습니다.
제가 사용해본 firebase 의 경우에는 전화번호, 이메일 인증 기능을 제공하고 있습니다.
이 서비스를 사용하면 backend 에서 난수를 생성해서 직접 SMS/이메일을 사용자에게 보내는 등의 기능 구현이 필요치 않고 firebase 에서 제공하는 API 를 사용해서 구현하면 됩니다.
이 또한 수수료가 발생합니다.
월 10,000 건의 전화인증/메일 인증이 무료고 그 이후로는 비용이 발생하는 것으로 되어있네요…
정리하면…
인증의 목적을 확실히 할 필요가 있을 것 같습니다.
단순히 중복가입 방지가 목적이라면 전화번호 인증 정도(자체구현 또는 firebase 사용)로 해도 될 것 같고…
확실한 실명 인증이 필요한 서비스를 개발 하신다면 선택의 여지 없이 인증업체의 API 를 사용하셔야 할 듯 합니다.
개발 난이도는 (쉬운 순서대로)
firebase 인증 사용
인증 업체 API 사용
phone/mail 인증 자체 구현
운영 비용은… (싼 순서대로)
firebase 인증 사용
단순 mail 인증 자체 구현
단순 phone 인증 자체 구현
인증 업체 API 사용
인증 강도 (?) (강한 순서대로)
-
인증 업체 API 사용 실명인증 (가장 강력함)
-
단순 phone 인증, firebase phone 인증 (중복가입을 쉽게할 수 없게 막을 수 있는정도, 가상 phone 번호, 여러 폰 번호 등에 대처 불가)
-
단순 메일 인증 (같은 메일 중복가입을 막을 수 있지만 여러 이메일 주소를 생성해서 가계정을 만들 수 있음)
이 정도가 아닐까 생각됩니다…
친절하게 알려주셔서 너무 감사합니다 잘 못 얻는 정보 같던데 감사합니다 ㅠㅠ