-
[ETC] 구글 OTP 인증 오류 해결 하기programming/ETC 2022. 2. 12. 15:40반응형
구글 OTP 인증 오류 해결하기
* 자체 서버가 있고, 서버 및 코드를 수정할 수 있을 때의 문제 해결 방법입니다.
구글 OTP는 처음 사용할 때 QR코드를 스캔하거나, 키를 입력하여 일회용 비밀번호를 생성한다.
해당 번호들은 30초 간격으로 새로 생성되어서 일회용 비밀번호로 사용할 수 있다.
이 코드가 인증이 안 되는 경우 해결 방법.
1. 서버시간을 확인 후, 동기화한다.
클라이언트(휴대폰, 또는 컴퓨터)의 시간을 먼저 확인해보고, 서버의 시간을 확인해본다.
리눅스에선 date 명령어로 확인할 수 있는데, 이 시간이 클라이언트와 시간이 차이가 날 경우 인증이 되지 않을 수 있다.
이때 서버의 시간을 동기화해서, 클라이언트와 서버의 시간을 맞춰준다.
2. 인증코드 간격을 늘리는 방법
구글에서 'Google OTP Java'로 관련 소스들은 찾아보면 해시값을 여러 번 비교한다.
실제 클라이언트가 확인하고 있는 코드의 전후로 몇 개의 코드를 더 생성해서, 인증 여부를 체크한다.
그래서 이 간격을 늘려주면, 서버의 시간이 동기화가 되어있지 않더라도(2~3분 정도의 차이일 때)
인증값을 유효하게 처리해서 OTP 인증을 통과할 수 있다.
** 다만 2번째 방법은 OTP 정책에 따라서 OTP로의 기능을 상실할 수도 있기 때문에,
서버의 시간을 클라이언트와 동기화시켜주는 1번을 이용하는 게 좋을 것 같다.
반응형'programming > ETC' 카테고리의 다른 글
[네이버페이] FAIL:[ERR-OR-100001] 가맹점ID 정보가 없습니다. (0) 2022.02.21 [ETC] 네이버 웨일 광고배너 없애기 (0) 2020.12.20 [Window, 크롬] 컴퓨터 어두운 테마 적용하기 (0) 2019.10.27 [ETC] JavaScript 주소창에서 실행하기 (0) 2019.10.23 [ETC] What is SEO? (0) 2019.09.23