InfoGrab Docs

이메일 일회용 비밀번호(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 상수 에 정의되어 있습니다. 등록 변경 # 사용자 환경 설정 수정 보기: 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_verification_code OR successful_verification) 비밀번호 인증 가능 작업: json.controller: (Repositories::GitHttpController OR JwtController) AND json.path: "/PROJECT_PATH" 아키텍처 # Email OTP는 이메일 검증 로직의 일부입니다. 여기에는 사용자가 새 IP 주소에서 로그인하거나 잠긴 후 로그인할 때 제공된 코드의 검증이 포함됩니다. 이것은 사용자 등록 흐름에서 발생하는 Identity Verification 기능 및 Devise의 Confirmable 기능과는 다릅니다. 코드 # 컨트롤러: SessionsController - 인증 진입점 VerifiesWithEmail - 로그인 중 코드 전