사용자 관리
Logto Console을 통한 관리
사용자 탐색 및 검색
Logto Console에서 사용자 관리 기능에 접근하려면 Console > 사용자 관리로 이동하세요. 이곳에서 모든 사용자의 테이블 뷰를 볼 수 있습니다.
테이블은 세 개의 열로 구성되어 있습니다:
- 사용자: 아바타, 전체 이름, 사용자 이름, 전화번호, 이메일 등 사용자의 정보를 표시합니다.
- 애플리케이션에서 등록: 사용자가 최초로 등록한 애플리케이션의 이름을 표시합니다.
- 최신 로그인: 사용자의 가장 최근 로그인 시각을 표시합니다.
다음 키워드 매핑을 지원합니다: name, id, username, primary-phone, primary-email.
사용자 추가
Console을 사용하여 개발자는 최종 사용자를 위한 새 계정을 생성할 수 있습니다. 화면 오른쪽 상단의 "사용자 추가" 버튼을 클릭하세요.
Logto Console 또는 Management API를 통해 사용자를 생성할 때(엔드 유저가 UI를 통해 직접 등록하는 경우가 아님), 최소 하나의 식별자: primary email, primary phone, 또는 username을 반드시 입력해야 합니다. name 필드는 선택 사항입니다.
사용자가 생성되면 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 기반 엔터프라이즈 커넥터의 경우, 연결 상세 페이지에서 토큰을 조회 및 삭제할 수 있습니다.
- 소셜 연결 (identities):
- 사용자 프로필 데이터: 이름, 아바타 URL, 커스텀 데이터, 추가 OpenID Connect 표준 클레임(포함되지 않은 항목). 모든 프로필 필드는 편집 가능합니다.
- 세션: 사용자의 활성 세션 목록을 볼 수 있으며, 기기 정보, sessionId, GEO 위치(해당 시)도 확인할 수 있습니다. 세션 상세 페이지에서 세부 정보를 확인하고 세션을 해제할 수 있습니다.
소셜 연결을 제거하기 전에, 사용자가 다른 소셜 연결, 전화번호, 이메일, 또는 사용자 이름-비밀번호 등 대체 로그인 방법을 가지고 있는지 반드시 확인해야 합니다. 다른 로그인 방법이 없다면, 소셜 연결이 제거된 후 계정에 다시 접근할 수 없습니다.
사용자 활동 보기
사용자의 최근 활동을 보려면, "사용자 세부 정보" 페이지의 "사용자 로그" 하위 탭으로 이동하세요. 여기서 사용자의 최근 활동(수행한 작업, 결과, 관련 애플리케이션, 작업 시간 등)이 표시된 테이블을 볼 수 있습니다.
테이블 행을 클릭하면 사용자 로그의 더 많은 세부 정보(예: IP 주소, user agent, 원시 데이터 등)를 확인할 수 있습니다.
사용자 일시 중지
"사용자 세부 정보" 페이지에서 "점 세 개" -> "사용자 일시 중지" 버튼을 클릭하세요.
사용자가 일시 중지되면, 해당 사용자는 앱에 로그인할 수 없으며, 현재 액세스 토큰이 만료된 후에는 새 액세스 토큰을 받을 수 없습니다. 또한, 이 사용자가 수행하는 모든 API 요청은 실패하게 됩니다.
이 사용자를 다시 활성화하려면, "점 세 개" -> "사용자 재활성화" 버튼을 클릭하세요.
사용자 삭제
"사용자 세부 정보" 페이지에서 "점 세 개" -> "삭제" 버튼을 클릭하세요. 사용자를 삭제하면 되돌릴 수 없습니다.
사용자 비밀번호 재설정
"사용자 세부 정보" 페이지에서 "점 세 개" -> "비밀번호 재설정" 버튼을 클릭하면, Logto가 자동으로 임의의 비밀번호를 재생성합니다.
비밀번호를 재설정한 후, 복사하여 최종 사용자에게 전달하세요. "비밀번호 재설정" 모달이 닫히면 비밀번호를 더 이상 볼 수 없습니다. 만약 비밀번호를 저장하지 못했다면, 다시 재설정할 수 있습니다.
Logto Console에서는 사용자의 특정 비밀번호를 직접 설정할 수 없지만, Management API PATCH /api/users/{userId}/password를 사용하여 비밀번호를 지정할 수 있습니다.
사용자 활성 세션 관리
"사용자 세부 정보" 페이지에서 특정 세션의 "관리" 버튼을 클릭하여 "세션 상세" 페이지로 이동하세요. 여기서 세션의 기기, 위치, 로그인 시간 등 자세한 정보를 볼 수 있습니다. 해당 세션에서 사용자를 로그아웃시키려면 오른쪽 상단의 "세션 해제" 버튼을 클릭하면 즉시 세션이 해제됩니다.
- 기본적으로 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를 통해 여러 사용 사례에서 사용자를 관리할 수 있습니다. 예: 고급 사용자 검색, 대량 계정 생성, 초대 전용 가입 등.
자주 묻는 질문
특정 사용자에 대해 특정 애플리케이션 접근을 제한하려면 어떻게 해야 하나요?
Logto의 Omni-sign-in 특성상, 인증 전에 사용자의 특정 애플리케이션 접근을 제한하도록 설계되어 있지 않습니다. 하지만, 애플리케이션별 사용자 역할과 권한을 설계하여 API 리소스를 보호하고, 사용자 인증 후 API 접근 시 권한을 검증할 수 있습니다. 자세한 내용은 인가: 역할 기반 접근 제어를 참고하세요.