首页 / API 文档 / 平台管理 / 用户角色管理 / 用户 / 创建本地用户

*创建本地用户

请求信息

请求行

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 加密。以下将为您说明如何对明文密码进行加密。

操作步骤

  1. 调用 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 编码后的字符串。

  2. 在终端中执行以下命令行,获取经过 Base64 解码后的 pubkey。

    echo "<pubkey_encode>" | base64 -d
  3. 参考如下说明,使用 RSA 加密工具,对明文密码进行加密,并获取加密后的密码。

    • 加密工具

    • 参数说明

      • Public Key:输入经过 Base64 解码后的 pubkey。

      • ClearText Message:明文消息,输入格式:{"ts": <获取 pubkey 时返回的时间戳>, "password":"<明文密码>"},例如:{"ts": 1663054013, "password":"Test&123"}

      • output:经过 RSA 加密后的密码。