读取用户元数据
Overview
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 | 字符串 | 用户的类型。可以有以下几种类型:
| ||||||||||||||||
data | 文档 | 包含描述用户的元数据的文档。此字段合并与用户相关联的所有 | ||||||||||||||||
custom_data | 文档 | 来自应用程序自定义用户数据集合的文档,用于指定用户 ID。您可以使用自定义用户数据集合来存储有关应用程序用户的任意数据。如果设置 注意避免存储大型自定义用户数据自定义用户数据限制为 | ||||||||||||||||
identities | 阵列 | 与用户关联的身份验证提供者身份列表。当用户首次使用特定提供商登录时,App Services 会将用户与身份对象关联起来,该身份对象包含唯一标识符以及来自提供商的有关用户的其他元数据。对于后续登录,App Services 会刷新现有身份数据,但不会创建新身份。身份对象具有以下形式:
|
注意
一般来说,App Services 会在给定用户首次进行身份验证时为其创建一个用户对象。 如果通过 Realm 用户界面创建测试电子邮件/密码用户,App Services 将立即创建该用户的对象。
查找用户
要查找有关一个或多个用户的信息,请单击左侧导航菜单中的 App Users 。 页面将打开Users标签页,其中包含与Atlas App Services App 关联的用户列表:
提示
如果已经知道要查找的用户 ID,则可以在Users表搜索栏中搜索其 ID。
要查找有关一个或多个用户的信息,请调用appservices users
list
。 CLI将提示您输入应用程序ID ,并列出该应用中的用户以供选择。
appservices users list
您还可以在调用程序时指定参数:
appservices users list --app=<Your App ID>
要查找有关一个或多个用户的信息,请按以下格式创建GET
请求。 您必须指定 Group 和 App ID。
curl --request GET \ --header 'Authorization: Bearer <access_token>' \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/users
如果您已经知道要查找的用户ID ,则可以将该ID附加到请求URL中:
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
已确认
待处理
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 客户端(“chrome”、“firefox”、“phantomjs”等),要么是移动 OS(“ios”,“android”等)
平台版本。
设备上的应用版本。
唯一的设备 ID。
要查看此信息,请从用户列表中执行以下操作:
查找要查看其设备的用户。
单击...打开选项菜单,然后选择View Devices 。
查看用户的提供商数据
每当用户连接到您的应用程序,并使用您已启用的身份验证提供程序进行身份验证时,App Services 都会记录提供程序数据。
要查看此信息,请从用户列表中执行以下操作:
查找要查看其提供商数据的用户。
单击...打开选项菜单,然后选择View Provider Data 。
查看用户的活动日志
App Services 会记录每个应用用户发出的每个请求,包括执行的函数调用。 此外,如果函数使用console.log
、 console.warn
或console.error
写入日志,这些条目将包含在函数的日志输出中。
要查看此信息,请从用户列表中执行以下操作:
查找要查看其活动数据的用户。
单击View Activity 。 这会将您重定向到该特定用户发出的请求的日志。 您可以展开条目以查看该请求的详细信息。
总结
用户对象包含可在应用程序逻辑中使用的用户相关信息。
用户对象中包含的确切信息取决于所使用的身份验证提供者。
您可以在 App Services 用户界面的
Users
页面中搜索用户。App Services 记录用户连接的设备、提供程序数据和活动日志等信息。