Docs Menu
Docs Home
/ /
Atlas App Services
/

사용자 메타데이터 읽기

이 페이지의 내용

  • 개요
  • 스키마
  • 사용자 찾기
  • 사용자 필터링
  • 사용자 데이터 보기
  • 사용자 장치 보기
  • 사용자의 제공자 데이터 보기
  • 사용자의 활동 로그 보기
  • 요약

Atlas App Services는 고유 ID와 사용자를 설명하는 추가 메타데이터가 포함된 사용자 객체 를 통해 내부적으로 각 애플리케이션 사용자를 나타냅니다. 다음과 같은 방법으로 사용자 객체에 액세스할 수 있습니다.

사용자 객체의 형식은 다음과 같습니다.

{
"id": "<Unique User ID>",
"type": "<User Type>",
"data": {
"<Metadata Field>": <Value>,
...
},
"custom_data": {
"<Custom Data Field>": <Value>,
...
},
"identities": [
{
"id": <Unique Identity ID>,
"provider_type": "<Authentication Provider>",
"data": {
"<Metadata Field>": <Value>,
...
}
}
]
}
필드
유형
설명
id
문자열
사용자를 고유하게 식별하는 ObjectId의 문자열 표현입니다.
type
문자열

사용자 유형입니다. 다음 유형이 가능합니다.

유형
설명
'정상'
사용자는 API 키 공급자가 아닌 인증 공급자를 통해 로그인한 애플리케이션 사용자 입니다.
'서버'
사용자는 모든 유형의 App Services API 키로 로그인된 서버 프로세스입니다.
'시스템'
사용자는 모든 규칙을 우회하는 시스템 사용자 입니다.
data
문서

사용자를 설명하는 메타데이터가 포함된 문서입니다. 이 필드는 사용자와 연결된 모든 identities의 데이터를 결합하므로 정확한 필드 이름과 값은 사용자가 인증한 인증 공급자에 따라 달라집니다.

참고

시스템 기능에 사용자 데이터가 없음

시스템 기능에서 user.data 객체가 비어 있습니다. context.runningAsSystem() 을(를) 사용하여 함수가 시스템 사용자로 실행되고 있는지 테스트합니다.

custom_data
문서

사용자 ID를 지정하는 애플리케이션의 사용자 지정 사용자 데이터 컬렉션의 문서입니다. 사용자 지정 사용자 데이터 컬렉션을 사용하여 애플리케이션 사용자에 대한 임의의 데이터를 저장할 수 있습니다. name 필드를 설정하면 App Services는 username 메타데이터 필드를 name 반환 값으로 채웁니다. App Services는 사용자가 로그인할 때와 같이 액세스 토큰을 새로 고칠 때마다 자동으로 데이터의 새 복사본을 가져옵니다. 기본 데이터는 일반 MongoDB 문서이므로 MongoDB Atlas 서비스를 통해 표준 CRUD 작업을 사용하여 사용자의 사용자 지정 데이터를 정의하고 수정할 수 있습니다.

참고

대규모 사용자 지정 사용자 데이터 저장 방지

사용자 지정 사용자 데이터는 MongoDB 문서의 최대 크기인 16MB(으)로 제한됩니다. 이 제한에 도달하지 않으려면 사용자가 선호하는 언어나 아바타 이미지의 URL과 같은 작고 상대적으로 정적인 사용자 데이터를 각 사용자 지정 사용자 데이터 문서에 저장하는 것이 좋습니다. 용량이 크거나, 제한이 없거나, 자주 업데이트되는 데이터의 경우 사용자 지정 사용자 문서에 데이터에 대한 참조만 저장하거나 사용자 지정 사용자 문서가 아닌 사용자의 ID에 대한 참조와 함께 데이터를 저장하는 것을 고려합니다.

identities
배열

사용자와 연결된 인증 공급자 ID 목록입니다. 사용자가 특정 공급자에 처음 로그인하면 앱 서비스는 사용자를 고유 식별자 및 공급자의 사용자에 대한 추가 메타데이터가 포함된 ID 객체와 연결합니다. 후속 로그인의 경우 App Services는 기존 ID 데이터를 새로 고치지만 새 ID를 만들지 않습니다. ID 객체의 형태는 다음과 같습니다.

{
"id": "<Unique ID>",
"provider_type": "<Provider Name>",
"data": {
"<Metadata Field>": <Value>,
...
}
}
필드 이름
설명
id
이 ID를 고유하게 식별하는 공급자 생성 문자열입니다.
provider_type
이 ID와 연결된 인증 공급자의 유형입니다.
data
사용자를 설명하는 인증 공급자의 추가 메타데이터입니다. 정확한 필드 이름과 값은 사용자가 로그인한 인증 공급자에 따라 달라집니다. 사용자 ID 데이터의 공급자별 분석은 사용자 메타데이터를 참조하세요.

참고

일반적으로 App Services는 사용자가 처음 인증할 때 특정 사용자에 대한 사용자 객체를 생성합니다. Realm UI를 통해 테스트 이메일/비밀번호 사용자를 만들면 App Services는 해당 사용자의 객체를 즉시 생성합니다.

한 명 이상의 사용자에 대한 정보를 찾으려면 왼쪽 탐색 메뉴에서 App Users 을 클릭합니다. 페이지가 열리고 Atlas App Services 앱과 연결된 사용자 목록이 있는 Users 탭 이 열립니다.

모든 사용자의 필터링 가능한 목록을 보여주는 UI 의 사용자 화면
클릭하여 확대

찾으려는 사용자의 ID를 이미 알고 있는 경우 Users 테이블 검색 표시줄에서 해당 ID를 검색할 수 있습니다.

한 명 이상의 사용자에 대한 정보를 찾으려면 appservices users list 을(를) 호출합니다. CLI 는 앱 ID 를 입력하라는 메시지를 표시하고 선택할 수 있도록 해당 앱 의 사용자를 나열합니다.

appservices users list

프로그램을 호출할 때 인수를 지정할 수도 있습니다.

appservices users list --app=<Your App ID>

한 명 이상의 사용자에 대한 정보를 찾으려면 다음 형식으로 GET 요청 을 만듭니다. 그룹 및 앱 ID 를 지정해야 합니다.

curl --request GET \
--header 'Authorization: Bearer <access_token>' \
https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/users

찾으려는 사용자의 ID 를 이미 알고 있는 경우 요청 URL 에 ID 를 추가할 수 있습니다.

curl --request GET \
--header 'Authorization: Bearer <access_token>' \
https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/users/<userId>

다음도 참조하세요.

필터 조건을 충족하는 사용자 하위 집합으로 사용자 목록을 제한하는 필터를 지정할 수 있습니다.

Users 표 상단에 있는 filter bar 을(를) 사용하여 필터를 정의합니다. 다음 기준으로 필터링할 수 있습니다.

  • Provider type

    • 익명

    • 이메일/비밀번호

    • API 키

    • Facebook

    • Google

    • Apple

    • 사용자 지정 JWT

    • 사용자 지정 기능

  • Status

    • Confirmed

    • 보류 중

  • State

    • 활성화됨

    • 비활성화

다음 플래그와 인수를 사용하여 사용자 작업을 필터하다 할 수 있습니다.

  • --pending: 포함된 경우 대기 중인 사용자만 나열합니다. 그렇지 않으면 확인된 사용자만 나열됩니다.

  • --state: 지정된 상태 의 사용자만 나열합니다.

    • "enabled"

    • "disabled"

  • --provider:

    • "anon-user"

    • "local-userpass"

    • "api-key"

    • "oauth2-facebook"

    • "oauth2-google"

    • "oauth2-apple"

    • "custom-token"

    • "custom-function"

예시

다음 명령은 출력을 보류 중인 (확인되지 않은) 이메일/비밀번호 사용자로만 제한합니다.

appservices users list --pending --provider="local-userpass"

예시

다음 명령은 출력을 비활성화 된 사용자로만 제한합니다.

appservices users list --state="disabled"

다음 쿼리 매개변수를 사용하여 사용자 작업을 필터하다 할 수 있습니다.

Parameter
유형
설명
after
문자열
이전에 페이지 매김 요청에 의해 반환된 마지막 사용자의 id입니다.
sort
문자열
결과를 정렬할 필드 이름입니다. 유효한 값은 기본값인 _id뿐입니다.
desc
부울
true 인 경우 내림차순으로 정렬된 결과를 반환합니다. 지정하지 않거나 false로 설정하다 하면 결과가 오름차순으로 반환됩니다.

예시

다음 요청 은 사용자를 _id 기준 내림차순으로 반환합니다.

curl --request GET \
--header 'Authorization: Bearer <access_token>' \
https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/users?desc=true

결과를 보류 중인 (확인되지 않은) 이메일/비밀번호 사용자로만 제한할 수도 있습니다. 다음 형식으로 GET 요청 을 생성합니다.

curl --request GET \
--header 'Authorization: Bearer <access_token>' \
https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/user_registrations/pending_users

다음도 참조하세요.

사용자가 애플리케이션에 연결하면 Atlas App Services는 다음과 유사한 정보를 기록합니다 .

앱에 사용한 적이 있는 기기를 나열하는 특정 사용자에 대한 세부 정보 보기
클릭하여 확대

기록된 정보에는 다음이 포함됩니다.

  • 기기 플랫폼은 http 클라이언트('크롬', '파이어폭스', '팬텀js' 등) 또는 모바일 OS( 'ios', 'android' 등) 중 하나입니다.

  • 플랫폼 버전입니다.

  • 기기의 앱 버전입니다.

  • 고유한 장치 ID입니다.

이 정보를 보려면 사용자 목록에서 다음을 수행하세요.

  1. 보려는 기기의 사용자를 찾습니다.

  2. ... 을 클릭하여 옵션 메뉴를 열고 View Devices 을 선택합니다.

사용자가 애플리케이션에 연결하고 허용한 인증 제공자 중 하나를 사용하여 인증할 때마다 App Services는 제공자 데이터를 기록합니다.

인증 제공자가 제공한 특정 사용자에 대한 메타데이터를 나열하는 특정 사용자에 대한 세부 정보 보기
클릭하여 확대

이 정보를 보려면 사용자 목록에서 다음을 수행하세요.

  1. 제공자 데이터를 보려는 사용자를 찾습니다.

  2. ... 을 클릭하여 옵션 메뉴를 열고 View Provider Data 을 선택합니다.

App Services는 실행된 함수 호출을 포함하여 각 앱 사용자가 수행한 모든 요청을 기록합니다. 또한 함수가 console.log, console.warn 또는 console.error 를 사용하여 로그에 쓰는 경우 이러한 항목이 함수의 로그 출력에 포함됩니다.

앱과의 상호 작용에 대한 로그를 표시하는 특정 사용자에 대한 세부 정보 보기
클릭하여 확대

이 정보를 보려면 사용자 목록에서 다음을 수행하세요.

  1. 보려는 활동 데이터를 가진 사용자를 찾습니다.

  2. View Activity 을 클릭합니다. 그러면 해당 특정 사용자의 요청 로그로 리디렉션됩니다. 항목을 확장하여 해당 요청에 대한 세부 정보를 볼 수 있습니다.

  • 사용자 객체에는 앱 로직에서 사용할 수 있는 사용자에 대한 관련 정보가 포함되어 있습니다.

  • 사용자 객체에 포함된 정확한 정보는 사용된 인증 제공자 에 따라 다릅니다.

  • App Services UI의 Users 페이지에서 사용자를 검색할 수 있습니다.

  • App Services는 사용자의 연결된 기기, 제공자 데이터, 활동 로그 등의 정보를 기록합니다.

돌아가기

사용자 메타데이터 정의