본문으로 건너뛰기

사용자 이름 정책

Logto는 항상 기본 사용자 이름 규칙을 적용합니다: 사용자 이름은 문자, 숫자, 밑줄(_)만 포함할 수 있으며, 숫자로 시작하지 않고, 128자를 넘지 않습니다. 이 기본 규칙 위에, 사용자 이름 정책을 구성하여 최종 사용자가 선택할 수 있는 사용자 이름을 더욱 제한할 수 있습니다. 예를 들어, 사용자 이름을 대소문자 구분 없이 만들거나, 길이 범위를 좁히거나, 허용되는 문자 유형을 제한할 수 있습니다.

Logto는 사용자 이름이 생성되거나 업데이트되는 방식에 따라 사용자 이름 정책을 다르게 적용합니다:

  • 기본 제공 로그인 경험, Account API, Account Center와 같은 엔드유저 플로우에서는 항상 현재 사용자 이름 정책이 적용됩니다. 사용자는 사용자 이름 입력 페이지에서 정책 요구 사항을 확인할 수 있으며, 정책을 위반할 경우 즉시 오류 메시지를 받게 됩니다.
  • Management API를 통한 관리자 작업(예: POST /api/users)은 정책 적용에서 제외되며, 기본 규칙만 적용됩니다. 이를 통해 필요할 때 정책 검사 없이 사용자를 프로비저닝하거나 마이그레이션할 수 있습니다.

정책을 업데이트해도 기존 사용자 이름이 수정되거나 무효화되지 않습니다: 기존 사용자는 현재 사용자 이름으로 계속 로그인할 수 있으며, 해당 사용자 이름이 신규 등록에 허용되지 않더라도 영향을 받지 않습니다.

사용자 이름 정책 설정하기

사용자 이름 정책을 구성하려면 다음 단계를 따르세요:

  1. 콘솔 > 로그인 & 계정 > 회원가입 및 로그인

    페이지로 이동합니다.
  2. 고급 옵션 섹션에서 사용자 이름 정책 항목의 관리를 클릭합니다.

다음과 같은 설정이 가능합니다:

  1. 대소문자 구분: 문자 대소문자만 다른 사용자 이름(예: Alicealice)을 서로 다른 사용자 이름으로 취급할지 여부입니다. 기본적으로 활성화되어 있습니다. 비활성화하면 사용자는 어떤 대소문자 조합으로도 로그인할 수 있으며, 대소문자를 구분하지 않고 기존 사용자 이름과 충돌하는 새 사용자 이름은 거부됩니다.
  2. 길이: 사용자 이름에 허용되는 최소 및 최대 문자 수를 설정합니다. 기본 범위는 1~128자입니다.
  3. 허용 문자: 사용자가 포함할 수 있는 문자 유형을 선택합니다: 대문자 (A-Z), 소문자 (a-z), 숫자 (0-9), 밑줄 (_). 기본 규칙상 사용자 이름이 숫자로 시작할 수 없으므로, 대문자, 소문자, 밑줄 중 적어도 하나는 반드시 활성화되어 있어야 합니다.

대소문자 구분 없는 사용자 이름으로 전환하기

기존 테넌트를 대소문자 구분 사용자 이름에서 대소문자 구분 없는 사용자 이름으로 전환하려면, 대소문자를 구분하지 않고 비교했을 때 충돌하는 사용자 이름(예: Alicealice가 서로 다른 사용자에게 속함)이 없어야 합니다. 이러한 충돌이 존재하면 정책 저장이 409 오류와 함께 거부됩니다.

콘솔에서 대소문자 구분을 끄면, Logto가 충돌을 사전에 검사하고 충돌하는 사용자 이름 목록을 표시하므로, 저장 전에 해당 계정을 이름 변경 또는 삭제 등으로 해결할 수 있습니다. 또한 GET /api/sign-in-exp/username-policy/case-sensitivity-conflicts API를 통해 직접 충돌을 조회할 수도 있습니다.

사용자 데이터: 사용자 이름

이메일 / 전화번호 / 사용자 이름 회원가입

비밀번호 정책