用户对象
id
uuid
用户的主键。
first_name
string
用户的名字。
last_name
string
用户的姓氏。
email
string
用户的电子邮件地址。
password
hash
用户的密码。
location
string
用户的位置。
title
string
用户的标题。
description
string
用户的描述。
tags
array
用户的标签。
avatar
many-to-one
头像文件。多对一到 文件。
language
string
呈现管理应用程序的语言。请参阅 我们的 Crowdin 页面 了解所有可用语言和
translations.
theme
stringauto
、light
、dark
之一。
tfa_secret
string
启用 TFA 后,它会保存它的密钥。
status
string
用户的状态。 draft
、invited
、active
、suspended
、archived
之一。
role
uuid
用户的角色。多对一到 角色。
token
string
用户的静态访问令牌。
last_access
date
用户上次访问 API 的时间。
last_page
string
用户使用的应用程序的最后一页。
provider
string
用于注册此用户的身份验证提供程序。
external_identifier
string
第三方身份验证提供程序中用户的主键(如果使用)。
auth_data
json
由第三方身份验证提供商提供的有关用户的必需数据(如果使用)。
email_notifications
boolean
启用此功能后,用户将收到通知电子邮件。
{
"id": "0bc7b36a-9ba9-4ce0-83f0-0a526f354e07",
"first_name": "Admin",
"last_name": "User",
"email": "admin@例如.com",
"password": "**********",
"location": "New York City",
"title": "CTO",
"description": null,
"tags": null,
"avatar": null,
"language": "en-US",
"theme": "auto",
"tfa_secret": null,
"status": "active",
"role": "653925a9-970e-487a-bfc0-ab6c96affcdc",
"token": null,
"last_access": "2021-02-05T10:18:13-05:00",
"last_page": "/settings/roles/653925a9-970e-487a-bfc0-ab6c96affcdc"
}
列出用户
列出 Directus 中存在的所有用户。
查询参数
支持所有全局查询参数。
返回
最多包含 limit 用户对象 的数组。 如果没有可用的项目,数据将是一个空数组。
REST API
GET /users
SEARCH /users
GraphQL
POST /graphql/system
type Query {
users: [directus_users]
}
示例
query {
users {
first_name
last_name
email
}
}
检索用户
按主键列出现有用户。
查询参数
支持所有全局查询参数。
返回
返回请求的 用户对象。
REST API
GET /users/:id
示例
GET /users/72a1ce24-4748-47de-a05f-ce9af3033727
GraphQL
POST /graphql/system
type Query {
users_by_id(id: ID!): directus_users
}
示例
query {
users_by_id(id: "72a1ce24-4748-47de-a05f-ce9af3033727") {
first_name
last_name
email
}
}
检索当前用户
检索当前经过身份验证的用户。
查询参数
支持所有全局查询参数。
返回
返回当前经过身份验证的用户的 用户对象。
REST API
GET /users/me
GraphQL
POST /graphql/system
type Query {
users_me: directus_users
}
示例
query {
users_me {
email
}
}
更新当前用户
更新经过身份验证的用户。
查询参数
支持所有全局查询参数。
返回
返回经过身份验证的用户的更新后的 user object。
REST API
PATCH /users/me
// PATCH /users/me
{
"email": "new.email@例如.com"
}
GraphQL
POST /graphql/system
type Mutation {
update_users_me(data: update_directus_users_input!): directus_users
}
示例
mutation {
update_users_me(data: { email: "new.email@例如.com" }) {
email
}
}
创建用户
创建一个新用户
查询参数
支持所有全局查询参数。
请求正文
部分 用户对象。
使用默认身份验证提供程序进行身份验证需要“电子邮件”和“密码”。
返回
返回已创建用户的 用户对象。
REST API
POST /users
示例
// POST /users
{
"email": "another@例如.com",
"password": "d1r3ctu5",
"role": "c86c2761-65d3-43c3-897f-6f74ad6a5bd7"
}
GraphQL
POST /graphql/system
type Mutation {
create_users_item(data: create_directus_users_input!): directus_users
}
示例
mutation {
create_users_item(
data: { email: "another@例如.com", password: "d1r3ctu5", role: "c86c2761-65d3-43c3-897f-6f74ad6a5bd7" }
) {
email
role
}
}
创建多个用户
创建多个新用户
查询参数
支持所有全局查询参数。
请求正文
部分 用户对象 的数组。
需要“电子邮件”和“密码”。
返回
返回已创建用户的 用户对象。
REST API
POST /users
示例
// POST /users
[
{
"email": "admin@例如.com",
"password": "p455w0rd",
"role": "c86c2761-65d3-43c3-897f-6f74ad6a5bd7"
},
{
"email": "another@例如.com",
"password": "d1r3ctu5",
"role": "c86c2761-65d3-43c3-897f-6f74ad6a5bd7"
}
]
GraphQL
POST /graphql/system
type Mutation {
create_users_items(data: [create_directus_users_input!]!): [directus_users]
}
示例
mutation {
create_users_items(
data: [
{ email: "admin@例如.com", password: "p455w0rd", role: "c86c2761-65d3-43c3-897f-6f74ad6a5bd7" }
{ email: "another@例如.com", password: "d1r3ctu5", role: "c86c2761-65d3-43c3-897f-6f74ad6a5bd7" }
]
) {
email
role
}
}
更新用户
更新现有用户。
查询参数
支持所有全局查询参数。
请求正文
部分 用户对象。
返回
返回更新用户的 用户对象。
REST API
PATCH /users/:id
示例
// PATCH /users/72a1ce24-4748-47de-a05f-ce9af3033727
{
"title": "CTO"
}
GraphQL
POST /graphql/system
type Mutation {
update_users_item(id: ID!, data: update_directus_users_input!): directus_users
}
示例
mutation {
update_users_item(id: "72a1ce24-4748-47de-a05f-ce9af3033727", data: { title: "CTO" }) {
first_name
last_name
}
}
更新多个用户
更新多个现有用户。
查询参数
支持所有全局查询参数。
请求正文
keys
Required
您要更新的用户的主键数组。
data
Required
用户对象 的任何属性。
返回
返回更新用户的 用户对象。
REST API
PATCH /users
示例
// PATCH /users
{
"keys": ["72a1ce24-4748-47de-a05f-ce9af3033727", "9c3d75a8-7a5f-41a4-be0a-1488fd974511"],
"data": {
"title": "CTO"
}
}
GraphQL
POST /graphql/system
type Mutation {
update_users_items(ids: [ID!]!, data: update_directus_users_input!): [directus_users]
}
示例
mutation {
update_users_items(
ids: ["72a1ce24-4748-47de-a05f-ce9af3033727", "9c3d75a8-7a5f-41a4-be0a-1488fd974511"]
data: { title: "CTO" }
) {
first_name
last_name
}
}
Delete a User
Delete an existing user.
Returns
Empty body.
REST API
DELETE /users/:id
示例
DELETE /users/72a1ce24-4748-47de-a05f-ce9af3033727
GraphQL
POST /graphql/system
type Mutation {
delete_users_item(id: ID!): delete_one
}
示例
mutation {
delete_users_item(id: "72a1ce24-4748-47de-a05f-ce9af3033727") {
id
}
}
Delete Multiple Users
Delete multiple existing users.
请求体
An array of user primary keys
Returns
Empty body.
REST API
DELETE /users
示例
// Request
["653925a9-970e-487a-bfc0-ab6c96affcdc", "c86c2761-65d3-43c3-897f-6f74ad6a5bd7"]
GraphQL
POST /graphql/system
type Mutation {
delete_users_items(ids: [ID!]!): delete_many
}
示例
mutation {
delete_users_items(ids: ["72a1ce24-4748-47de-a05f-ce9af3033727", "9c3d75a8-7a5f-41a4-be0a-1488fd974511"]) {
ids
}
}
Invite a new User
Invite a new user by email.
请求体
email
Required
User email to invite.
role
Required
Role of the new user.
invite_url
Provide a custom invite url which the link in the email will lead to. The invite token will be passed as a parameter.
Note: You need to configure the
USER_INVITE_URL_ALLOW_LIST
environment variable to enable this feature.
Returns
Empty body.
REST API
POST /users/invite
示例
// POST /users/invite
{
"email": "another@例如.com",
"role": "c86c2761-65d3-43c3-897f-6f74ad6a5bd7"
}
GraphQL
POST /graphql/system
type Mutation {
users_invite(email: String!, role: String!, invite_url: String): Boolean
}
示例
mutation {
users_invite(email: "another@例如.com", role: "c86c2761-65d3-43c3-897f-6f74ad6a5bd7")
}
Accept User Invite
Accept your invite. The invite user endpoint sends the email a link to the Admin App.
This link includes a token, which is then used to activate the invited user.
请求体
token
Required
Accept invite token.
password
Required
Password for the user.
Returns
Empty body.
REST API
POST /users/invite/accept
示例
// POST /users/invite/accept
{
"token": "eyJh...KmUk",
"password": "d1r3ctu5"
}
GraphQL
POST /graphql/system
type Mutation {
users_invite_accept(token: String!, password: String!): Boolean
}
示例
mutation {
users_invite_accept(token: "eyJh...KmUk", password: "d1r3ctu5")
}
Generate Two-Factor Authentication Secret
Generates a secret and returns the URL to be used in an authenticator app.
请求体
password
Required
The user's password.
Returns
secret
string
OTP secret to be saved in the authenticator app.
otpauth_url
stringotpauth://
formatted URL. Can be rendered as QR code and used in most authenticator apps.
REST API
POST /users/me/tfa/generate
示例
// POST /users/me/tfa/generate
{
"password": "d1r3ctu5"
}
GraphQL
POST /graphql/system
type Mutation {
users_me_tfa_generate(password: String!): users_me_tfa_generate_data
}
示例
mutation {
users_me_tfa_generate(password: "d1r3ctu5") {
secret
otpauth_url
}
}
启用两因素身份验证
将 TFA 机密添加到用户帐户。
请求正文
secret
Required
来自 tfa/generate 的 TFA 机密。
otp
Required
使用密钥生成的 OTP,以重新检查用户是否具有正确的 TFA 设置
Returns
Empty response.
REST API
POST /users/me/tfa/enable
示例
// POST /users/me/tfa/enable
{
"otp": "123456",
"secret": "3CtiutsNBmY3szHE"
}
GraphQL
POST /graphql/system
type Mutation {
users_me_tfa_enable(otp: String!, secret: String!): Boolean
}
示例
mutation {
users_me_tfa_enable(otp: "123456", secret: "3CtiutsNBmY3szHE")
}
禁用两因素身份验证
通过从用户中删除 OTP 密钥来禁用双重身份验证。
请求正文
otp
Required
验证器应用程序生成的一次性密码。
Returns
Empty response.
REST API
POST /users/me/tfa/disable
示例
// POST /users/me/tfa/disable
{
"otp": "859014"
}
GraphQL
POST /graphql/system
type Mutation {
users_me_tfa_disable(otp: String!): Boolean
}
示例
mutation {
users_me_tfa_disable(otp: "591763")
}