본문으로 건너뛰기

사용자 관리

Logto Console을 통한 관리​

사용자 탐색 및 검색​

Logto Console에서 사용자 관리 기능에 접근하려면 Console > 사용자 관리로 이동하세요. 이곳에서 모든 사용자의 테이블 뷰를 볼 수 있습니다.

테이블은 세 개의 열로 구성되어 있습니다:

  • 사용자: 아바타, 전체 이름, 사용자명, 전화번호, 이메일 등 사용자의 정보를 표시합니다.
  • 애플리케이션에서 등록: 사용자가 최초로 등록한 애플리케이션의 이름을 표시합니다.
  • 최신 로그인: 사용자의 가장 최근 로그인 시각을 표시합니다.

이 테이블은 name, id, username, primary-phone, primary-email 키워드 매핑을 지원합니다.

사용자 추가​

Console을 사용하여 개발자는 최종 사용자를 위한 새 계정을 생성할 수 있습니다. 화면 오른쪽 상단의 "사용자 추가" 버튼을 클릭하세요.

Logto Console에서 사용자를 생성할 때는 최소한 하나의 식별자(primary email, primary phone, 또는 username)를 입력해야 합니다. name 필드는 선택 사항입니다. 이 요구사항은 Console에만 적용됩니다. Management API의 Create user endpoint는 이러한 식별자 없이도 사용자를 생성할 수 있습니다.

사용자가 생성되면 Logto는 자동으로 임의의 비밀번호를 생성합니다. 초기 비밀번호는 한 번만 표시되지만, 나중에 비밀번호를 재설정할 수 있습니다. 특정 비밀번호를 설정하려면, Management API의 patch /api/users/{userId}/password를 사용하여 사용자가 생성된 후 비밀번호를 업데이트하세요.

**입력한 식별자(이메일 주소 / 전화번호 / 사용자명)**와 초기 비밀번호를 한 번에 복사할 수 있어, 새 사용자에게 이 정보를 쉽게 전달하여 바로 로그인을 시작할 수 있습니다.

팁:

초대 전용 회원가입을 구현하고 싶다면, 매직 링크로 사용자 초대를 권장합니다. 이 방법을 사용하면 화이트리스트에 등록된 사용자만 직접 회원가입하고 비밀번호를 설정할 수 있습니다.

사용자 프로필 보기 및 업데이트​

사용자 세부 정보를 보려면, 사용자 테이블에서 해당 행을 클릭하세요. "사용자 세부 정보" 페이지로 이동하며, 여기서 사용자의 프로필 정보를 확인할 수 있습니다. 포함 내용은 다음과 같습니다:

  • 인증 관련 데이터:
    • 이메일 주소 (primary_email): 수정 가능
    • 전화번호 (primary_phone): 수정 가능
    • 사용자명 (username): 수정 가능
    • 비밀번호 (has_password): 임의의 비밀번호를 재생성할 수 있습니다. "사용자 비밀번호 재설정"을 참고하세요.
    • 다단계 인증 (MFA) (mfa_verification_factor): 이 사용자가 설정한 모든 인증 요소(예: 패스키, 인증 앱, 백업 코드)를 볼 수 있습니다. Console에서 요소를 제거할 수 있습니다.
    • 패스키: 테넌트에서 패스키 로그인이 활성화된 경우, 사용자 세부 정보 페이지에서 사용자의 로그인 패스키를 확인하고 필요시 제거할 수 있습니다. 이 패스키는 MFA와 동일한 WebAuthn 자격 증명 모델을 사용합니다.
    • 개인 액세스 토큰: 개인 액세스 토큰을 생성, 조회, 이름 변경, 삭제할 수 있습니다.
  • 연결:
    • 소셜 연결 (identities):
      • 사용자의 연결된 소셜 계정(소셜 ID 및 프로필 정보 포함)을 볼 수 있습니다(예: Facebook으로 로그인한 경우 "Facebook" 항목이 표시됨).
      • 기존 소셜 아이덴티티는 제거할 수 있지만, 사용자를 대신하여 새 소셜 계정을 연결할 수는 없습니다.
      • 토큰 저장이 활성화된 소셜 커넥터의 경우, 연결 상세 페이지에서 액세스 토큰과 리프레시 토큰을 조회 및 관리할 수 있습니다.
    • 엔터프라이즈 SSO 연결 (sso_identities):
      • 사용자의 연결된 엔터프라이즈 아이덴티티(엔터프라이즈 ID 및 프로필 정보 포함)를 볼 수 있습니다.
      • Console에서는 엔터프라이즈 SSO 아이덴티티를 추가하거나 제거할 수 없습니다.
      • OIDC 기반 엔터프라이즈 커넥터에서 토큰 저장이 활성화된 경우, 연결 상세 페이지에서 토큰을 조회 및 삭제할 수 있습니다.
  • 사용자 프로필 데이터: 이름, 아바타 URL, 커스텀 데이터, 추가 OpenID Connect 표준 클레임(포함되지 않은 항목). 모든 프로필 필드는 수정 가능합니다.
  • 세션: 사용자의 활성 세션 목록을 볼 수 있으며, 기기 정보, sessionId, GEO 위치(해당 시)도 확인할 수 있습니다. 세션 상세 페이지에서 세부 정보를 확인하고 세션을 해제할 수 있습니다.
경고:

소셜 연결을 제거하기 전에, 사용자가 다른 소셜 연결, 전화번호, 이메일, 또는 사용자명-비밀번호 등 대체 로그인 방법을 가지고 있는지 반드시 확인해야 합니다. 다른 로그인 방법이 없다면, 소셜 연결이 제거된 후 사용자는 계정에 다시 접근할 수 없습니다.

사용자 활동 보기​

사용자의 최근 활동을 보려면, "사용자 세부 정보" 페이지의 "사용자 로그" 하위 탭으로 이동하세요. 여기서 사용자의 최근 활동(수행한 작업, 결과, 관련 애플리케이션, 작업 시간 등)이 테이블로 표시됩니다.

테이블 행을 클릭하면 사용자 로그의 상세 정보(IP 주소, user agent, 원시 데이터 등)를 볼 수 있습니다.

사용자 정지​

"사용자 세부 정보" 페이지에서 "점 세 개" -> "사용자 정지" 버튼을 클릭하세요.

사용자가 정지되면, 해당 사용자는 앱에 로그인할 수 없으며, 현재 액세스 토큰이 만료된 후에는 새 액세스 토큰을 받을 수 없습니다. 또한, 이 사용자가 수행하는 모든 API 요청은 실패하게 됩니다.

이 사용자를 다시 활성화하려면 "점 세 개" -> "사용자 재활성화" 버튼을 클릭하세요.

사용자 삭제​

"사용자 세부 정보" 페이지에서 "점 세 개" -> "삭제" 버튼을 클릭하세요. 사용자를 삭제하면 되돌릴 수 없습니다.

사용자 비밀번호 재설정​

"사용자 세부 정보" 페이지에서 "점 세 개" -> "비밀번호 재설정" 버튼을 클릭하면, Logto가 임의의 비밀번호를 자동으로 재생성합니다.

비밀번호를 재설정한 후, 복사하여 최종 사용자에게 전달하세요. "비밀번호 재설정" 모달이 닫히면 비밀번호를 더 이상 볼 수 없습니다. 만약 복사하지 못했다면 다시 재설정할 수 있습니다.

Logto Console에서는 사용자의 특정 비밀번호를 직접 설정할 수 없지만, Management API PATCH /api/users/{userId}/password를 사용하여 비밀번호를 지정할 수 있습니다.

사용자 비밀번호 만료 처리​

사용자의 비밀번호가 유출되었을 가능성이 있다면, 비밀번호를 만료시켜 다음 로그인 시 반드시 재설정하도록 할 수 있습니다. "사용자 세부 정보" 페이지에서 비밀번호 옆의 "만료" 버튼을 클릭하고 확인하세요. 또는 Management API PATCH /api/users/{userId}/password/expiration에 { "isExpired": true }를 호출할 수 있습니다.

이 기능은 비밀번호 만료 정책이 활성화되어 있어야 합니다. 사용자가 올바른 비밀번호를 입력하면, 이메일 또는 전화번호로 전송된 코드를 통해 인증 후 새 비밀번호를 설정하는 비밀번호 찾기 플로우로 이동합니다. 비밀번호 만료는 기존 세션을 종료하지 않으므로, 즉시 접근을 차단하려면 사용자의 활성 세션 해제도 함께 진행하세요.

사용자 활성 세션 관리​

"사용자 세부 정보" 페이지에서 특정 세션의 "관리" 버튼을 클릭하여 "세션 세부 정보" 페이지로 이동하세요. 여기서 세션의 기기, 위치, 로그인 시간 등 상세 정보를 볼 수 있습니다. 해당 세션에서 사용자를 로그아웃시키려면 오른쪽 상단의 "세션 해제" 버튼을 클릭하면 즉시 세션이 해제됩니다.

  • 기본적으로 Console에서 세션을 해제하면 해당 세션과 연결된 모든 1st-party 앱 권한도 함께 해제되며, 사용자는 다시 접근하려면 재로그인해야 합니다. 사전에 발급된 불투명 액세스 토큰과 리프레시 토큰도 즉시 해제됩니다.
  • offline_access 스코프가 있는 3rd-party 앱의 경우, 세션 해제 시 앱 권한은 기본적으로 해제되지 않습니다. 사전에 발급된 리프레시 토큰은 권한 만료, 리프레시 토큰 만료, 또는 명시적 해제 중 가장 빠른 시점까지 계속 사용할 수 있습니다.

사용자 승인 3rd-party 앱 관리​

"사용자 세부 정보" 페이지의 "승인된 3rd-party 앱" 섹션에서 사용자의 앱 승인 상태를 확인할 수 있습니다. 이 섹션은 사용자 승인 앱(권한) 관리 API로 지원됩니다.

각 승인 앱에 대해 Console은 다음을 표시합니다:

  • 앱 이름
  • 앱 ID
  • 액세스 생성 시각

접근 권한을 제거하려면 해제(취소) 동작을 클릭하고 모달에서 확인하세요.

앱 권한을 해제하면 해당 앱에 대한 사용자의 모든 활성 3rd-party 권한이 제거됩니다. 또한 해당 앱의 사전에 발급된 불투명 액세스 토큰과 리프레시 토큰도 즉시 해제됩니다.

비밀번호 정책 준수 검사​

Logto에서 비밀번호 정책을 업데이트한 후에도 기존 사용자는 현재 비밀번호로 계속 로그인할 수 있습니다. 새로 생성된 계정만 업데이트된 비밀번호 정책을 따라야 합니다.

더 강력한 보안을 위해, POST /api/sign-in-exp/default/check-password API를 사용하여 사용자의 비밀번호가 기본 로그인 경험에 정의된 현재 정책을 충족하는지 확인할 수 있습니다. 충족하지 않는 경우, Account API를 사용하여 사용자에게 비밀번호 업데이트를 안내하는 커스텀 플로우를 구현할 수 있습니다.

사용자 역할 관리​

사용자 세부 정보 페이지의 "역할" 탭에서 원하는 대로 역할을 쉽게 할당하거나 제거할 수 있습니다. 자세한 내용은 역할 기반 접근 제어를 참고하세요.

사용자가 속한 조직 보기​

Logto는 조직을 지원하며, 조직의 구성원을 관리할 수 있습니다. 사용자 세부 정보를 쉽게 확인하고, 사용자가 속한 조직을 볼 수 있습니다.

Logto Management API를 통한 관리​

Management API는 Logto 백엔드 서비스에 접근할 수 있는 API 모음입니다. 앞서 언급했듯이, 사용자 API는 이 서비스의 핵심 구성 요소이며 다양한 시나리오를 지원할 수 있습니다.

사용자 관련 RESTful API는 /api/users에 위치하며, 사용자 활동(로그)은 /api/logs?userId=:userId에 위치합니다.

Management API를 통해 여러 사용 사례에서 사용자를 관리할 수 있습니다. 예: 고급 사용자 검색, 대량 계정 생성, 초대 전용 회원가입 등.

자주 묻는 질문(FAQs)​

특정 사용자의 특정 애플리케이션 접근을 제한하려면 어떻게 해야 하나요?​

Logto의 Omni-sign-in 특성상, 인증 전에 특정 애플리케이션에 대한 사용자 접근을 제한하도록 설계되어 있지 않습니다. 하지만, 애플리케이션별 사용자 역할과 권한을 설계하여 API 리소스를 보호하고, 사용자 인증 후 API 접근 시 권한을 검증할 수 있습니다. 자세한 내용은 인가: 역할 기반 접근 제어를 참고하세요.