사용자 계정 관리
개요
App Services UI, App Services CLI, Admin API 또는 Realm SDK를 사용하여 애플리케이션의 사용자 계정을 관리할 수 있습니다.
사용자 삭제
메타데이터 및 인증 제공자 ID를 포함하여 애플리케이션에서 사용자를 완전히 제거할 수 있습니다. 사용자를 삭제하면 해당 사용자와 연결된 모든 세션 도 즉시 종료됩니다.
팁
If you don't want to delete the user's account, you can disable their account to temporarily suspend their access.
사용자 수동 삭제
Realm UI, Atlas CLI 또는 Admin API를 사용하여 사용자 계정을 수동으로 제거할 수 있습니다.
왼쪽 탐색 메뉴에서 App Users 을 선택합니다.
삭제하려는 사용자의 현재 상태에 따라 Confirmed 또는 Pending 을 선택합니다.
Users 탭 아래의 목록에서 사용자를 찾고 줄임표(
...
)를 클릭합니다.Delete User 를 클릭하고 선택을 확인합니다.
사용자를 삭제하려면 appservices users delete
을(를) 호출합니다. CLI는 애플리케이션 ID를 입력하라는 메시지를 표시하고 선택할 수 있도록 해당 애플리케이션의 사용자를 나열합니다.
appservices users delete
프로그램을 호출할 때 인수를 지정할 수도 있습니다.
appservices users delete \ --app=<Your App ID> \ --user=<User ID>
팁
id
값을 쉼표로 구분된 목록으로 지정하여 단일 명령으로 여러 사용자를 삭제할 수 있습니다.
appservices users delete --user=6099694d5debcbcc873ff413,60996996b78eca4a8d615d3a
사용자를 삭제하려면 다음 형식으로 DELETE
요청을 생성합니다. 그룹, 앱 및 사용자 ID를 지정해야 합니다.
curl --request DELETE \ --header 'Authorization: Bearer <access_token>' \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/users/<userId>
대기 중인 이메일/비밀번호 사용자를 삭제하려면 다음 형식으로 요청을 생성하세요.
curl --request DELETE \ --header 'Authorization: Bearer <access_token>' \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/user_registrations/by_email/<email>
참고
App Services는 삭제된 사용자와 연결한 MongoDB Atlas cluster의 데이터를 자동으로 삭제하지 않습니다. 예를 들어 애플리케이션에서 사용자가 owner_id
필드에 자신의 ID를 포함하여 사용자에게 연결된 데이터를 생성할 수 있도록 허용하는 경우, 사용자 객체를 삭제해도 사용자가 생성한 연결된 데이터는 삭제되지 않습니다. 삭제된 사용자의 모든 추적을 제거하려면 해당 문서를 수동으로 삭제하거나 수정해야 합니다.
SDK에서 사용자 삭제
Realm SDK를 사용하여 사용자를 삭제할 때 사용자에게 클라이언트 애플리케이션에서 자신의 계정을 삭제할 수 있는 옵션을 제공할 수 있습니다.
사용자 지정 함수로 사용자 삭제
사용자를 삭제하는 사용자 지정 함수를 작성할 수 있습니다. SDK가 아직 사용자 삭제 API를 지원하지 않는 경우 이 작업을 수행하는 것이 좋습니다.
Application Authentication 를 사용하는 아래 예와 유사한 함수를 만듭니다 . 함수가 성공적으로 인증되지 않거나 호출한 사용자를 삭제할 수 없는 경우 오류 처리를 통합할 수 있습니다.
이 예제 함수에서는 adminApiPublicKey 및 adminApiPrivateKey 에 대한 값과 비밀을 생성했습니다 . 그런 다음 프로젝트 및 애플리케이션 ID 를 apiUrl
에 추가합니다.
그런 다음 SDK에서 이 함수를 호출 할 수 있습니다. 아래 예제 함수는 인수를 받지 않으며 함수를 호출한 사용자를 삭제합니다.
팁
앱에서 이메일/비밀번호 인증 을 사용하는 경우 두 번째 엔드포인트와 관련된 대기 중인 사용자를 삭제할 수 있습니다.
const apiUrl = "https://services.cloud.mongodb.com/api/admin/v3.0/groups/{insert-your-project-id}/apps/{insert-your-app-id}"; exports = async function(){ // This function deletes the user who calls it. It gets this user's ID // from the user in the function context. This is safer than accepting // a passed-in user ID, as the user can never delete any other user's account. const callersUserId = context.user.id async function adminLogIn() { const username = context.values.get("adminApiPublicKey"); const apiKey = context.values.get("adminApiPrivateKey"); const response = await context.http.post({ url: "https://services.cloud.mongodb.com/api/admin/v3.0/auth/providers/mongodb-cloud/login", body: {username, apiKey}, encodeBodyAsJSON: true, }); const body = EJSON.parse(response.body.text()); return body.access_token; } const token = await adminLogIn(); async function deleteUser(_id) { await context.http.delete({ url: `${apiUrl}/users/${_id}`, headers: {"Authorization": [`Bearer ${token}`]} }); return _id; } return deleteUser(callersUserId); };
사용자 비활성화
사용자를 일시적으로 비활성화하여 사용자가 로그인할 수 없도록 하고 사용자의 기존 액세스 및 새로 고침 토큰을 무효화할 수 있습니다. 비활성화된 사용자가 다시 로그인할 수 있도록 설정할 수 있습니다.
왼쪽 탐색 메뉴에서 App Users 을 선택합니다.
비활성화하려는 사용자의 현재 상태에 따라 Confirmed 또는 Pending 을 선택합니다.
Users 탭의 목록에서 사용자를 찾아 줄임표(
...
)를 클릭합니다.Disable User 를 클릭하고 선택을 확인합니다.
사용자를 비활성화하려면 appservices users disable
을(를) 호출합니다. CLI는 애플리케이션 ID를 입력하라는 메시지를 표시하고 선택할 수 있도록 해당 애플리케이션의 사용자를 나열합니다.
appservices users disable
프로그램을 호출할 때 인수를 지정할 수도 있습니다.
appservices users disable \ --app=<Your App ID> \ --user=<User ID>
팁
여러 사용자의 id
값을 쉼표로 구분된 목록으로 지정하여 단일 명령으로 여러 사용자를 비활성화할 수 있습니다.
appservices users disable --user=6099694d5debcbcc873ff413,60996996b78eca4a8d615d3a
사용자를 비활성화하려면 다음 형식으로 PUT
요청을 생성합니다. 그룹, 앱 및 사용자 ID를 지정해야 합니다.
curl --request PUT \ --header 'Authorization: Bearer <access_token>' \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/users/<userId>/disable
사용자 활성화
비활성화된 사용자 가 다시 로그인할 수 있도록 설정할 수 있습니다.
왼쪽 탐색 메뉴에서 App Users 을 선택합니다.
활성화하려는 사용자의 현재 상태에 따라 Confirmed 또는 Pending 을 선택합니다.
Users 탭의 목록에서 사용자를 찾아 줄임표(
...
)를 클릭합니다.Enable User 를 클릭하고 선택을 확인합니다.
사용자를 활성화하려면 appservices users enable
을(를) 호출합니다. CLI는 애플리케이션 ID를 입력하라는 메시지를 표시하고 선택할 수 있도록 해당 앱의 사용자를 나열합니다.
appservices users enable
프로그램을 호출할 때 인수를 지정할 수도 있습니다.
appservices users enable \ --app=<Your App ID> \ --user=<User ID>
팁
여러 사용자의 id
값을 쉼표로 구분된 목록으로 지정하여 단일 명령으로 여러 사용자를 허용할 수 있습니다.
appservices users enable --user=6099694d5debcbcc873ff413,60996996b78eca4a8d615d3a
사용자를 활성화하려면 다음 형식으로 PUT
요청을 생성합니다. 그룹, 앱 및 사용자 ID를 지정해야 합니다.
curl --request PUT \ --header 'Authorization: Bearer <access_token>' \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/users/<userId>/enable