Auth(认证与授权)

POST /api/Auth/Login

  • 描述: 用户登录。

  • 请求体:

    • application/json: LoginRequest 对象

    • text/json: LoginRequest 对象

    • application/*+json: LoginRequest 对象

  • 响应: 200 OK

请求示例(passwordHash为密码计算的sh256值,全小写)

{
  "username": "username",
  "password": "passwordHash"
}

示例代码

const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "<API Key>");

const raw = JSON.stringify({
  "password": "<string>",
  "username": "<string>"
});

const requestOptions = {
  method: "POST",
  headers: myHeaders,
  body: raw,
  redirect: "follow"
};

fetch("//api/Auth/Login", requestOptions)
  .then((response) => response.text())
  .then((result) => console.log(result))
  .catch((error) => console.error(error));

返回示例


POST /api/Auth/Logout

  • 描述: 用户登出。

  • 响应: 200 OK

前端自行删除JWT token


POST /api/Auth/Register

  • 描述: 用户注册。

  • 请求体:

    • application/json: RegisterRequest 对象

    • text/json: RegisterRequest 对象

    • application/*+json: RegisterRequest 对象

  • 响应: 200 OK

请求示例(password为sha256值)

返回示例


POST /api/Auth/ChangePassword

  • 描述: 修改密码。

  • 请求体:

    • application/json: ChangePasswordRequest 对象

    • text/json: ChangePasswordRequest 对象

    • application/*+json: ChangePasswordRequest 对象

  • 响应: 200 OK

请求示例(password都为sha256值)

示例代码

返回示例


GET /api/Auth/Refresh

  • 描述: 刷新令牌。

  • 响应: 200 OK

请求示例

请求头携带Bearer {refresh token} 发送GET请求

返回示例


POST /api/Auth/ForgotPassword

  • 描述: 忘记密码。

  • 请求体:

    • application/json: ForgotPasswordRequest 对象

    • text/json: ForgotPasswordRequest 对象

    • application/*+json: ForgotPasswordRequest 对象

  • 响应: 200 OK

请求示例

示例代码

GET api/Auth/Certificate

请求示例

返回示例

该接口用于验证忘记密码发送的邮件内的token是否有效


POST /api/Auth/Reset

  • 描述: 重置用户密码。

  • 请求体:

    • application/json: ResetPasswordRequest 对象

    • text/json: ResetPasswordRequest 对象

    • application/*+json: ResetPasswordRequest 对象

  • 请求体参数:

    • token (string, required): 重置密码的令牌。

    • newPassword (string, required): 新密码。

  • 响应:

    • 200 OK: 密码重置成功。

    • 400 Bad Request: 令牌无效或已过期。

    • 404 Not Found: 用户不存在。

  • 请求示例:

  • 示例代码:

  • 返回示例:

    • 成功:

    • 令牌无效或已过期:

    • 用户不存在:

接口逻辑说明

  1. 验证令牌:

    • 从缓存中查找与 token 对应的用户信息。

    • 如果令牌无效或已过期,返回 400 Bad Request

  2. 查找用户:

    • 根据缓存中的用户 ID 查找用户。

    • 如果用户不存在,返回 404 Not Found

  3. 更新密码:

    • 将用户密码更新为 newPassword

    • 清除缓存中的令牌。

  4. 返回结果:

    • 如果密码重置成功,返回 200 OK{ success: true }

Last updated