이메일 일회용 비밀번호(Email OTP) 개발
이메일 일회용 비밀번호(Email OTP) 개발에 대해 설명합니다.
이메일 일회용 비밀번호(Email OTP)는 비밀번호로 로그인하는 GitLab.com 사용자를 위한 이중 인증(2FA) 방법입니다. 사용자는 로그인 중 이메일로 일회용 코드를 받고 인증을 완료하기 위해 입력해야 합니다. 개발 특화되지 않은 이 기능에 대한 정보는 기능 문서 를 참조하세요. 2026년 1월부터 GitLab.com은 Email OTP를 필수 최소 요건으로 도입 하고 있습니다. 이 기능의 개발자는 피처 플래그, GitLab 인스턴스 설정 및 미래 날짜 등록 필요성에 유의해야 합니다. 로깅 # GitLab 프로덕션 로그 를 사용하여 Email OTP에서 발생하는 이슈를 트리아지하고 디버그할 수 있습니다. 로그인 중 Email OTP 이벤트 # Email OTP 검증 이벤트 쿼리: json.message: "Email Verification" AND json.username:replace_username_here 이벤트 유형을 보려면 json.event 열을 추가합니다. 이 로그는 다음 경우에 나타납니다: 계정이 Email OTP를 필요로 함. 계정이 경고 기간에 있음( email_otp_required_after 가 7일 이하) 계정이 잠겨 있음(기존 VerifiesWithEmail 동작) IP 주소로 검색하는 성공적인 로그인 흐름을 보여주는 로그 예시: 이벤트 이유는 VerifiesWithEmail 상수 에 정의되어 있습니다. 비밀번호 API 인증 실패 # 다른 2FA 방법과 마찬가지로 Email OTP에 등록된 사용자는 비밀번호로 API 요청을 인증할 수 없습니다. 비밀번호 유효성 검사가 성공한 후 401 응답을 찾으세요. find_with_user_password succeeded 를 검색한 다음 시간적으로 인접한 레코드나 동일한 IP를 가진 레코드를 확인하여 요청 레코드와 응답을 식별합니다. json.message: "find_with_user_password" AND json.username:replace_username_here Email OTP가 등록된 Git 작업을 보여주는 예시: 인증이 결국 401로 실패함에도 불구하고 find_with_user_password succeeded 메시지가 나타나는 것에 주의하세요. 등록 변경 # 사용자 환경 설정 수정 보기: json.meta.caller_id: "UserSettings::ProfilesController#update" AND json.params.value: "email_otp_required_as_boolean" 레코드를 펼쳐 제출되는 환경 설정 옵션을 확인합니다. 파라미터 값 1 은 사용자가 Email OTP에 등록하는 것을 나타내고, 0 은 등록 해제를 나타냅니다. 추가 검색 # 모든 사용자 활동: json.username: "USERNAME" OR json.meta.user: "USERNAME" 세션 이벤트: json.controller: "SessionsController" AND json.action: (new OR create OR resend_ve
