Google Authenticator(OTP) 인증 오류

망키·2023년 10월 21일

서비스 중 Microsoft Authenticator, Authy로는 인증이 되지만 Google Authenticator로 인증이 되지 않는 오류가 있었다.

작년까지는 잘 되었던 것 같은데 앱이 업데이트(해당 업데이트에 앱명이 Google OTP에서 Google Authenticator로 변경되고, 아이콘도 바뀌었다) 된 후 새로 등록한 OTP에 대해서 오류가 발생한 것으로 파악됐다.

npm speakeasy package를 통해 코드를 생성하였는데

const speakeasy = require("speakeasy");
const base32 = require("hi-base32");

const url = speakeasy.otpauthURL({
        secret: base32.decode(otp_secret_key),
        issuer:system,
        label: email,
        algorithm: "sha512", // -> "sha1" 로 변경
        period: 30,
      });

알고리즘을 sha256, sha512로 생성하였을 때 인증 오류가 발생하고 sha1로 생성하였을 때 정상적으로 인증되었다.

찾아본 결과 Google Authenticator는 default로 sha1을 지원하는 것으로 파악된다.

profile
dev diary

0개의 댓글