본문으로 건너뛰기

비밀번호 재설정

비밀번호 복구 기능은 유효한 이메일 커넥터 또는 SMS 커넥터가 구성되어 있을 때 자동으로 활성화됩니다. 사용자는 등록된 이메일 주소 또는 전화번호를 입력하여 비밀번호를 재설정할 수 있습니다.

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

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

노트:

"비밀번호를 잊으셨나요?" 링크가 보이지 않나요? 유효한 이메일 또는 SMS 커넥터가 구성되어 있는지 확인하세요.

  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 API 및 Account API를 사용하여 자체 비밀번호 재설정 흐름을 구현할 수 있습니다. 자세한 내용은 계정 설정을 참고하세요.

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