본문으로 건너뛰기

비밀번호 재설정

Logto는 사용자가 비밀번호를 잊어버렸거나 변경하고 싶을 때 계정에 안전하게 다시 접근할 수 있도록 포괄적인 비밀번호 재설정 기능을 제공합니다. 이 기능은 이메일과 SMS 등 다양한 인증 방법을 지원하여, 사용자가 선호하는 커뮤니케이션 채널을 통해 접근 권한을 회복할 수 있도록 합니다.

계정 복구를 위한 비밀번호 찾기

설정 방법

비밀번호 찾기 기능을 활성화하려면:

  1. 커넥터 구성: 콘솔 > 커넥터 > 이메일 및 SMS 커넥터에서 이메일 또는 SMS 커넥터를 설정하세요.

  2. 사용자 연락처 정보 수집: 사용자가 회원가입 또는 계정 설정을 통해 이메일/전화번호를 등록했는지 확인하세요.

  3. 인증 방법 활성화:

  4. 저장 및 테스트: 변경 사항을 저장하고 라이브 프리뷰로 테스트하세요.

사용자 경험 흐름

비밀번호 재설정 기능이 활성화되면, 로그인 폼 하단에 "비밀번호를 잊으셨나요?" 링크 버튼이 표시됩니다. 사용자는 이 링크를 클릭하여 비밀번호 재설정 과정을 시작할 수 있습니다.

  1. 로그인 페이지 방문: 사용자가 로그인 페이지를 방문합니다.
  2. 비밀번호 찾기 링크 클릭: 사용자가 "비밀번호를 잊으셨나요?" 링크를 클릭합니다.
  3. 이메일/전화번호 입력: 링크 클릭 후, 사용자는 등록된 이메일 주소 또는 전화번호를 입력할 수 있는 새 페이지로 이동합니다.
  4. 인증 코드 전송: Logto가 사용자가 입력한 이메일 주소 또는 전화번호로 인증 코드를 전송하고, 코드 인증 페이지로 리디렉션합니다.
  5. 인증 코드 입력: 사용자가 이메일 또는 전화로 받은 인증 코드를 입력합니다. Logto는 해당 코드와 이메일/전화번호에 연결된 사용자의 신원을 확인합니다.
  6. 새 비밀번호 입력: 인증 코드가 성공적으로 확인되면, 사용자는 새 비밀번호를 입력하라는 안내를 받습니다.
  7. 비밀번호 재설정 성공: 입력한 비밀번호가 비밀번호 정책 요건을 충족하면, 비밀번호가 성공적으로 업데이트됩니다.
  8. 로그인 페이지로 리디렉션: 사용자는 로그인 페이지로 이동하여 새 비밀번호로 로그인할 수 있습니다.
비밀번호 재설정 흐름

로그인 후 비밀번호 변경

인증된 사용자는 앱 내 계정 설정 경험을 통해 비밀번호를 변경(또는 최초 설정)할 수 있습니다. 계정 설정 문서를 참고하여 Account API로 구현하는 방법을 확인하세요.

사용자가 비밀번호를 가지고 있는지 확인

사용자 데이터에는 사용자가 현재 비밀번호 자격 증명을 가지고 있는지 나타내는 불리언 필드 hasPassword가 있습니다.

hasPassword를 확인하는 방법:

  • Management API: 예시 GET /api/users/:id (user 객체에 포함)
  • 커스텀 토큰 클레임: hasPassword를 ID/액세스 토큰에 주입 (프론트엔드에서 추가 API 호출 없이 UI 분기 가능)

이후 Account API 엔드포인트를 호출하여 비밀번호를 설정 또는 업데이트하세요(요청 세부사항은 계정 설정 가이드 참고). 비밀번호가 한 번도 없었던 사용자의 경우, 이전 비밀번호 필드는 필요하지 않으며 요구해서도 안 됩니다.

:

이메일 / 전화 / 사용자명 등록 시 회원가입 방법에서 "비밀번호 설정"이 필요하더라도, 순수 소셜 로그인으로 생성된 사용자는 기본적으로 비밀번호 생성을 건너뜁니다. 이 사용자는 나중에 명시적으로 비밀번호를 설정할 때까지 hasPassword = false 상태입니다. 보안 모델상 꼭 필요하지 않다면 소셜 회원가입 직후 즉시 비밀번호 설정을 강제하지 마세요 — 지연되고 상황에 맞는 안내가 전환율이 더 높습니다.

커스텀 비밀번호 정책

비밀번호 길이, 문자 요구사항, 금지 단어 등 정책을 맞춤 설정하여 비즈니스의 보안 요구사항을 충족하면서도 좋은 사용자 경험을 제공하세요. 해당 설정은 보안 > 비밀번호 정책 섹션에서 구성할 수 있습니다. 자세한 내용은 비밀번호 정책 문서를 참고하세요.

자주 묻는 질문

비밀번호 재설정 성공 후 사용자를 어떻게 로그아웃시키나요?

사용자가 비밀번호를 성공적으로 재설정하면 PostResetPassword 웹훅 이벤트를 구독하여 알림을 받을 수 있습니다. 이후 로그아웃 액션을 트리거하여 사용자의 현재 세션을 무효화하고 로그인 페이지로 리디렉션하세요.

커스텀 UI에서 비밀번호 재설정 플로우를 구현하려면?

Logto의 Management APIAccount API를 사용하여 자체 비밀번호 재설정 플로우를 구현할 수 있습니다. 자세한 내용은 계정 설정을 참고하세요.

자체 호스팅된 비밀번호 재설정 엔드포인트를 만들고, Logto SDK를 활용하여 first_screenreset-password로 설정한 로그인 요청을 시작할 수 있습니다. 이렇게 하면 사용자가 비밀번호 재설정 페이지로 자연스럽게 리디렉션됩니다.