*
创建本地用户
请求信息
请求行
POST /auth/v1/users
创建本地用户。
请求体
Content-Type
application/json
请求体示例
创建用户的请求体信息。
{
"apiVersion": "auth.alauda.io/v1",
"kind": "User",
"metadata": {
"name": "1e9eea56686511e9052e6578b56ae018"
},
"spec": {
"email": "example4",
"expired": {
"begin": "2021-06-30T09:26:44Z",
"end": "2021-07-15T09:26:44Z"
},
"groups": [
"ungrouped"
],
"mail": "example4@example.com",
"password": "a7LE41gAspuxWmkLgoVq1tlh8uIhEHStbPyB4OMtRmUwCzJULCoSYbM/VlwVoc9GlsaONqDQfKvQNsUYifElNaUJXvufDUEL7uUb8F/igl+adxafwZHeOYtZfBF/AeoP4M5Tjc3xSL+rD03iNjVSCsEvm9wK76JlPnvt8lkv5UTwzuwke0IrBQOFcqUFJVY7woY45TUN6P0YqO6pb3mb+IVoKUjlJEXX0hXBbbpNtkQLaqPVqMkTWDOGCJ4MSj+MFUAKXzOv0nk6fao48aXpps4STrRU5hSW8vfMKMBlP8DIFoCi7C5Ga+Pfpx4DRN+jrRdMF/X0Mu73V3vuTZURew==",
"username": "example4"
}
}
请求体说明
名称 | 类型 | 是否必填项 | 描述 |
---|---|---|---|
apiVersion | string | 是 | 查看公共参数 |
kind | string | 是 | 查看公共参数 |
spec | object | 是 |
创建用户请求体的详细信息,描述了对用户的期望状态。
字段路径:spec |
spec.email | string | 是 |
邮箱地址。
字段路径:spec.email |
spec.expired | object | 是 |
配置账号的有效期。
字段路径:spec.expired |
expired.begin | string | 是 |
账号有效期的开始时间。
字段路径:spec.expired.begin |
expired.end | string | 是 |
账号有效期的截止时间。
字段路径:spec.expired.end |
spec.groups | array | 是 |
用户所属的组。
字段路径:spec.groups |
spec.groups[] | string | 是 |
组。
字段路径:spec.groups[] |
spec.password | string | 是 |
密码。需输入经过 RSA 加密后的密码。加密方法请参见文末的 FAQ:如何使用 RSA 对明文密码进行加密?
字段路径:spec.password |
spec.username | string | 是 |
用户名。
字段路径:spec.username |
返回信息
Content-Type
application/json
状态码: 201
OK
返回体示例
用户的定义信息。
{
"metadata": {
"annotations": {
"cpaas.io/creator": "admin@cpaas.io",
"cpaas.io/display-name": "example4",
"cpaas.io/updated-at": "2021-06-30T09:25:45Z"
},
"creationTimestamp": "2021-06-30T09:25:45Z",
"generation": 1,
"labels": {
"auth.cpaas.io/user.connector_id": "local",
"auth.cpaas.io/user.connector_type": "local",
"auth.cpaas.io/user.email": "1e9eea56686511e9052e6578b56ae018",
"auth.cpaas.io/user.state": "disabled",
"auth.cpaas.io/user.username": "",
"auth.cpaas.io/user.valid": "true"
},
"name": "1e9eea56686511e9052e6578b56ae018",
"resourceVersion": "10648655",
"selfLink": "/apis/auth.alauda.io/v1/users/1e9eea56686511e9052e6578b56ae018",
"uid": "88fb58bc-d304-486a-832b-571a44f7b7c7"
},
"spec": {
"connector_name": "local",
"connector_type": "local",
"email": "example4",
"expired": {
"begin": "2021-06-30T09:26:44Z",
"end": "2021-07-15T09:26:44Z"
},
"groups": [
"ungrouped"
],
"is_admin": false,
"is_disabled": true,
"mail": "example4@example.com",
"state": "active",
"username": "example4",
"valid": true
}
}
返回体说明
名称 | 类型 | 描述 |
---|---|---|
metadata | object | 查看公共参数 |
spec | object |
用户的描述。
字段路径:spec |
spec.connector_name | string |
连接器(Connectors)名称。
字段路径:spec.connector_name |
spec.connector_type | string |
连接器(Connectors)类型。
字段路径:spec.connector_type |
spec.email | string |
邮箱地址。
字段路径:spec.email |
spec.expired | object |
配置账号的有效期。
字段路径:spec.expired |
expired.begin | string |
账号有效期的开始时间。
字段路径:spec.expired.begin |
expired.end | string |
账号有效期的截止时间。
字段路径:spec.expired.end |
spec.groups | array |
用户组。
字段路径:spec.groups |
spec.groups[] | string |
用户组。
字段路径:spec.groups[] |
spec.is_admin | boolean |
检查用户是否是管理员。
字段路径:spec.is_admin |
spec.username | string |
用户名。
字段路径:spec.username |
spec.valid | boolean |
描述用户是否有效。
字段路径:spec.valid |
其他状态码
如何使用 RSA 对明文密码进行加密?
调用当前接口创建用户时,请求体中的 密码 需要经过 RSA 加密。以下将为您说明如何对明文密码进行加密。
操作步骤
-
调用
GET /auth/v1/pubkey
接口,获取加密公钥。返回体示例如下:
{ "ts": "1663054013", "pubkey": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwVgAcD7VRGxxdsaKK+IX\ntyWEufi4D5d7810WAjhEt3+JtvBFfodbYz/198XJEWMLtestxxxxxVyD\nNSfPZaCc1OOb9tqm9p4cjMM/xjgc87YPMjH4rUKvI7N/zfhHPArcq2PUwqZTh072\nhQIDAQAB\n-----END PUBLIC KEY-----\n", "pubkey_encode": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF3VmdBY0Q3VlJHeHhkc2FLSytJWAp0eVdFdWZpNEQ1ZDc4MTBXQWpoRXQzK0p0dkJGZm9kYll6testxxxxxxFVCTElDIEtFWS0tLS0tCg==" }
参数说明:
-
pubkey:RSA 公钥。
-
ts:获取 pubkey 的时间,格式为 Unix 时间戳(timestamp)。
-
pubkey_encode:pubkey 经过 Base64 编码后的字符串。
-
-
在终端中执行以下命令行,获取经过 Base64 解码后的 pubkey。
echo "<pubkey_encode>" | base64 -d
-
参考如下说明,使用 RSA 加密工具,对明文密码进行加密,并获取加密后的密码。
-
参数说明:
-
Public Key:输入经过 Base64 解码后的 pubkey。
-
ClearText Message:明文消息,输入格式:
{"ts": <获取 pubkey 时返回的时间戳>, "password":"<明文密码>"}
,例如:{"ts": 1663054013, "password":"Test&123"}
。 -
output:经过 RSA 加密后的密码。
-