문자 2차 인증을 사람 없이 넘기는 방법

데이터 · 크롤링4분 읽기

무인 데이터 수집 파이프라인을 짜다 보면 가장 자주 만나는 벽이 로그인 단계의 2차 인증입니다. 포털에 로그인하려는데 문자로 여섯 자리 인증번호가 오고 그걸 사람이 확인해 입력해야만 다음으로 넘어간다면 무인 운영은 원칙적으로 불가능합니다. 새벽에 혼자 도는 파이프라인 옆에 사람이 문자를 기다리며 앉아 있을 수는 없으니까요. 이 벽을 어떻게 넘겼는지 정리합니다.

문제의 핵심은 문자가 다른 기기로 온다는 것

2차 인증이 어려운 건 인증번호가 파이프라인이 도는 서버가 아니라 등록된 휴대폰으로 오기 때문입니다. 수집기는 클라우드에서 도는데 인증번호는 사람 손안의 휴대폰으로 도착하니, 이 둘을 잇는 다리가 없으면 코드가 서버까지 전달될 방법이 없습니다. 그래서 해법의 핵심은 인증번호를 자동으로 수집기까지 실어 나르는 경로를 만드는 것이었습니다.

이 경로를 세 조각으로 나눴습니다. 첫째, 휴대폰이 도착한 문자에서 인증번호를 뽑아 어딘가로 보낸다. 둘째, 그것을 받아 잠시 보관하는 중간 저장소가 있다. 셋째, 로그인 중인 수집기가 그 저장소에서 자기 채널의 코드를 꺼내 입력한다. 이 세 조각이 맞물리면 사람이 문자를 보고 옮겨 적던 과정을 그대로 자동화할 수 있습니다.

휴대폰 단축어가 첫 조각을 맡는다

첫 조각은 휴대폰 쪽에서 처리합니다. 스마트폰의 자동화 기능을 쓰면 특정 발신자의 문자가 도착했을 때 그 본문을 어떤 주소로 전송하도록 설정할 수 있습니다. 이 자동화가 문자 본문을 콜백 서버로 보내면, 서버는 본문에서 여섯 자리 숫자를 뽑아 어느 채널의 코드인지 표시와 함께 저장합니다. 사람이 할 일은 처음 자동화를 한 번 켜 두는 것뿐입니다.

콜백 서버는 상시 대기하는 작은 웹 서비스로 두었습니다. 문자 본문을 받아 코드를 추출해 저장하는 입력 경로와, 수집기가 코드를 꺼내 가는 조회 경로를 함께 제공합니다. 배치 작업이 필요할 때만 잠깐 도는 것과 달리, 이 서비스는 언제 문자가 올지 모르니 늘 켜져 있어야 하는 성격이 다른 구성 요소입니다.

스토리지 폴링으로 코드를 받아온다

로그인 중인 수집기는 2차 인증 화면을 만나면 잠시 멈춰 콜백 서비스에 자기 채널의 코드를 물어봅니다. 문자가 아직 도착하지 않았을 수 있으니 한 번 물어보고 없으면 짧은 간격으로 다시 물어보는 폴링을 돌리되, 정해진 시간 안에 코드가 오지 않으면 타임아웃으로 처리해 무한정 기다리지 않게 했습니다. 코드를 받으면 인증 화면에 자동 입력하고 로그인을 마저 진행합니다.

여기서 중요한 보안 장치가 몇 개 있습니다. 인증번호는 짧은 만료 시간을 두어 오래된 코드는 조회되지 않도록 했습니다. 또 한 번 쓴 코드는 사용됨으로 표시해 재사용을 막았습니다. 이렇게 하면 우연히 예전 코드가 남아 있어도 잘못 쓰이지 않고 코드가 필요 이상으로 오래 유효하게 떠도는 위험도 줄어듭니다.

실패해도 조용히 넘어가지 않는다

무인 2차 인증에서 가장 신경 쓴 부분은 실패 처리입니다. 문자가 늦게 오거나 아예 안 오는 상황은 반드시 생기므로, 이때 파이프라인이 조용히 멈추면 담당자는 다음 날 데이터가 빈 것을 보고서야 알게 됩니다. 그래서 인증 코드 타임아웃은 명확한 실패로 처리해 로그와 알림에 남겼습니다. 어느 채널의 로그인이 왜 멈췄는지 바로 드러나야 사람이 이어서 대응할 수 있습니다.

이 무인 2차 인증 구조는 채널별로 실행을 격리한 배치 위에서 돌아가므로, 한 채널의 인증 실패가 다른 채널 수집을 막지 않습니다. 전체 배치가 서버 없이 어떻게 매일 도는지는 서버 없는 스케줄 배치 운영에서, 시스템 전체는 멀티채널 광고·정산 데이터 수집 파이프라인 사례에서 볼 수 있습니다.

자주 묻는 질문

인증번호를 자동으로 다루면 보안에 문제가 없나요?

정당한 자기 계정의 로그인을 자동화하는 것이므로 인증 자체를 우회하는 것은 아닙니다. 다만 코드가 흘러 다니는 경로는 조심해서 다뤄야 합니다. 그래서 인증번호에 짧은 만료 시간을 두고 한 번 쓴 코드는 사용됨으로 표시해 재사용을 막았으며 로그에도 민감한 값이 그대로 남지 않도록 처리했습니다.

문자가 늦게 오면 어떻게 되나요?

수집기는 정해진 시간 동안만 코드를 기다립니다. 그 안에 문자가 도착하면 폴링으로 받아 자동 입력하고 시간이 지나도 오지 않으면 타임아웃으로 실패 처리해 로그에 남깁니다. 조용히 멈추지 않고 명확히 실패로 드러내는 것이 중요합니다. 그래야 담당자가 어느 채널에서 인증이 막혔는지 알고 대응할 수 있습니다.

이 방식은 어떤 채널에도 쓸 수 있나요?

로그인 시 문자로 인증번호가 오는 채널이라면 대체로 적용할 수 있습니다. 휴대폰 자동화로 코드를 콜백 서비스에 보내고 수집기가 그것을 폴링해 입력하는 구조 자체는 채널과 무관합니다. 채널마다 다른 부분은 2차 인증 화면을 감지하고 코드를 입력하는 로그인 조작뿐입니다.

#자동화#2차인증#데이터수집#무인운영

업무자동화 구축이 필요하신가요?

무료 상담 신청