비밀번호 정책
Logto는 비밀번호가 생성되거나 업데이트되는 방식에 따라 비밀번호 정책을 다르게 적용합니다:
- 기본 제공 로그인 경험, Experience API, Account API와 같은 엔드유저 플로우에서는 항상 현재 비밀번호 정책이 적용됩니다.
- Management API를 통한 관리자 작업
patch /api/users/{userId}/password에는 정책이 적용되지 않아, 필요할 때 정책 검사 없이 자격 증명을 프로비저닝하거나 재설정할 수 있습니다. - 기존 비밀번호가 현재 규칙을 준수하는지 감사하려면
POST /api/sign-in-exp/default/check-password를 호출하고 반환된 검증 결과에 따라 조치하세요. 자세한 내용은 비밀번호 준수 검사를 참고하세요.
비밀번호 정책 설정하기
신규 사용자 또는 비밀번호를 변경하는 사용자를 위해, 비밀번호 강도 요구 사항을 적용하는 비밀번호 정책을 설정할 수 있습니다. 콘솔 > 보안 > 비밀번호 정책에서 비밀번호 정책을 설정하세요.
- 최소 비밀번호 길이: 비밀번호에 필요한 최소 문자 수를 설정합니다. (NIST는 최소 8 문자를 권장합니다)
- 최소 요구 문자 유형 수: 비밀번호에 필요한 최소 문자 유형 수를 설정합니다. 사용 가능한 문자 유형은 다음과 같습니다:
- 대문자:
(A-Z) - 소문자:
(a-z) - 숫자:
(0-9) - 특수 문자:
(!"#$%&'()\*+,-./:;<>=?@[]^\_`|{}~ )
- 대문자:
- 유출 이력 검사: 이 설정을 활성화하면 데이터 유출에 노출된 적이 있는 비밀번호를 거부합니다. (Have I Been Pwned 기반)
- 반복 문자 검사: 이 설정을 활성화하면 반복되는 문자가 포함된 비밀번호를 거부합니다. (예: "11111111" 또는 "password123")
- 사용자 정보 포함 검사: 이 설정을 활성화하면 사용자 이름, 이메일 주소, 전화번호 등 사용자 정보가 포함된 비밀번호를 거부합니다.
- 사용자 지정 단어: 비밀번호에 포함되면 거부할 사용자 지정 단어 목록(대소문자 구분 없음)을 입력하세요.
비밀번호 준수 검사
Logto에서 비밀번호 정책을 업데이트한 후에도 기존 사용자는 현재 비밀번호로 계속 로그인할 수 있습니다. 새로 생성된 계정만 업데이트된 정책을 따라야 합니다.
더 강력한 보안을 적용하려면, POST /api/sign-in-exp/default/check-password API를 사용하여 사용자의 비밀번호가 기본 로그인 경험에 정의된 현재 정책을 충족하는지 확인할 수 있습니다. 충족하지 않는 경우, Account API를 사용하여 사용자에게 비밀번호 업데이트를 요청하는 커스텀 플로우를 안내할 수 있습니다.