跳到主要内容

获取临时管理员权限的sudo_token

POST 

/auth/v1/user/sudo

接口说明

获取一个临时管理权限的sudo_token,用于执行敏感操作如修改用户密码和删除用户等。sudo_token提供临时的管理员权限,有效期为15分钟。

功能特性

  • 提供临时管理员权限,用于执行敏感操作
  • sudo_token有效期为900秒(15分钟)
  • 支持密码验证和验证码验证两种方式
  • 增强安全性,防止误操作

入参要求

必需参数

  • Authorization: 当前登录用户的access_token(必填,Bearer格式)
  • client_id: 应用对应的客户端id(可选,默认为环境id)
  • x-device-id: 设备id(可选,当前登录设备的id)

请求体参数

  • password: 用户密码(可选,与verification_token二选一)
  • verification_token: 验证码token(可选,与password二选一)

前置条件

  • 用户必须已登录并持有有效的access_token
  • 用户必须知道密码或能够获取验证码
  • 敏感操作需要二次验证以增强安全性

出参说明

成功响应

  • sudo_token: 临时管理员权限token
  • expires_in: 过期时间,默认900秒

请求示例

密码验证方式请求示例

POST /auth/v1/user/sudo
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2FwaS5leGFtcGxlLmNvbSIsInN1YiI6Ijk4NzY1NDMyMTAxMjM0NTY3ODkiLCJhdWQiOiJkZW1vLWFwcC0yZjhhOWMzZTFiNGQiLCJleHAiOjE3MzQ2NzU4ODksImlhdCI6MTczNDY2ODY4OSwic2NvcGUiOiJ1c2VyIn0.dGhpc19pc19hX2Zha2Vfc2lnbmF0dXJlX2Zvcl9leGFtcGxlX3B1cnBvc2VzX29ubHlfZG9fbm90X3VzZV9pbl9wcm9kdWN0aW9uX2Vudmlyb25tZW50X3RoaXNfaXNfbm90X3JlYWxfdG9rZW5fZGF0YQ
Content-Type: application/json

{
"password": "DemoPass123!@#"
}

验证码验证方式请求示例

POST /auth/v1/user/sudo
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2FwaS5leGFtcGxlLmNvbSIsInN1YiI6Ijk4NzY1NDMyMTAxMjM0NTY3ODkiLCJhdWQiOiJkZW1vLWFwcC0yZjhhOWMzZTFiNGQiLCJleHAiOjE3MzQ2NzU4ODksImlhdCI6MTczNDY2ODY4OSwic2NvcGUiOiJ1c2VyIn0.dGhpc19pc19hX2Zha2Vfc2lnbmF0dXJlX2Zvcl9leGFtcGxlX3B1cnBvc2VzX29ubHlfZG9fbm90X3VzZV9pbl9wcm9kdWN0aW9uX2Vudmlyb25tZW50X3RoaXNfaXNfbm90X3JlYWxfdG9rZW5fZGF0YQ
Content-Type: application/json

{
"verification_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2FwaS5leGFtcGxlLmNvbSIsInN1YiI6Ijk4NzY1NDMyMTAxMjM0NTY3ODkiLCJhdWQiOiJkZW1vLWFwcC0yZjhhOWMzZTFiNGQiLCJleHAiOjE3MzQ2NzU4ODksImlhdCI6MTczNDY2ODY4OSwic2NvcGUiOiJ1c2VyIn0.dGhpc19pc19hX2Zha2Vfc2lnbmF0dXJlX2Zvcl9leGFtcGxlX3B1cnBvc2VzX29ubHlfZG9fbm90X3VzZV9pbl9wcm9kdWN0aW9uX2Vudmlyb25tZW50X3RoaXNfaXNfbm90X3JlYWxfdG9rZW5fZGF0YQ"
}

响应示例

获取sudo_token成功响应

{
"sudo_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2FwaS5leGFtcGxlLmNvbSIsInN1YiI6Ijk4NzY1NDMyMTAxMjM0NTY3ODkiLCJhdWQiOiJkZW1vLWFwcC0yZjhhOWMzZTFiNGQiLCJleHAiOjE3MzQ2NzU4ODksImlhdCI6MTczNDY2ODY4OSwic2NvcGUiOiJ1c2VyIn0.dGhpc19pc19hX2Zha2Vfc2lnbmF0dXJlX2Zvcl9leGFtcGxlX3B1cnBvc2VzX29ubHlfZG9fbm90X3VzZV9pbl9wcm9kdWN0aW9uX2Vudmlyb25tZW50X3RoaXNfaXNfbm90X3JlYWxfdG9rZW5fZGF0YQ",
"expires_in": 900
}

验证失败响应

{
"error": "invalid_password",
"error_code": 4001,
"error_description": "密码错误,请重新输入"
}

使用流程

1. 用户登录

  • 用户通过正常登录流程获取access_token

2. 请求sudo_token

  • 调用此接口进行二次验证(密码或验证码)
  • 获取sudo_token

3. 执行敏感操作

  • 使用sudo_token调用敏感操作接口
  • 如修改密码、删除用户等

4. 操作完成

  • sudo_token过期后自动失效
  • 需要重新验证才能再次执行敏感操作

关键特性

安全性

  • 二次验证确保操作安全
  • sudo_token有效期短,防止滥用
  • 支持密码和验证码两种验证方式

权限控制

  • sudo_token提供临时管理员权限
  • 只能执行特定的敏感操作
  • 权限范围有限,降低风险

相关接口

Request

Query Parameters

    client_id string

    应用对应的客户端id,可从云开发平台-->身份认证-->开发设置获取。默认为环境id,可以不传

Header Parameters

    x-device-id string

    设备id,当前登录设备的id。客户端应随机生成,并缓存到客户端。此参数与登录账号数有关

    Authorization stringrequired

    当前登录用户的access_token, 值的格式为Bearer xxx

    Example: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2FwaS5leGFtcGxlLmNvbSIsInN1YiI6Ijk4NzY1NDMyMTAxMjM0NTY3ODkiLCJhdWQiOiJkZW1vLWFwcC0yZjhhOWMzZTFiNGQiLCJleHAiOjE3MzQ2NzU4ODksImlhdCI6MTczNDY2ODY4OSwic2NvcGUiOiJ1c2VyIn0.dGhpc19pc19hX2Zha2Vfc2lnbmF0dXJlX2Zvcl9leGFtcGxlX3B1cnBvc2VzX29ubHlfZG9fbm90X3VzZV9pbl9wcm9kdWN0aW9uX2Vudmlyb25tZW50X3RoaXNfaXNfbm90X3JlYWxfdG9rZW5fZGF0YQ

Body

    password string

    用户密码

    verification_token string

    验证码令牌, 手机号或邮箱验证码获取的验证token, 需要调用/auth/v1/verification/verify接口验证

Responses

A successful response.

Response Headers
    Schema
      sudo_token string
    Loading...