用户登陆认证

API的文档位于 https://dev.izhiju.cn/doc/

所有接口通过http请求实现,通过header,query 传递参数,body发送数据。数据和返回都采用json格式。 为了通过API访问REST资源,需要一个身份验证令牌。可以通过执行身份验证API轻松获取 token。在api调用时附带token可认证所有除登录接口以外的api接口。

1. 用户登录接口

  • 接口描述:

    • 请求地址:https://dev.izhiju.cn/api/v1/authentication/user
    • 请求方法:POST
    • 请求body:
     {
       "username": "string", // string替换为字符串类型的用户名
       "password": "string"  // string 替换为字符串类型的密码
     }
    
    • 请求成功返回结果:
     {
       "type": "accessToken", 
       "id": "bMw5KOJMFfM",
       "scopeId": "QJaWfWI9fyI", //公司标识id,预先分配好
       "createdOn": "2020-02-19T02:44:46.000Z", //token创建时间
       "createdBy": "KeiN_96ZIUE",
       "modifiedOn": "2020-02-19T02:44:46.000Z",
       "modifiedBy": "KeiN_96ZIUE",
       "optlock": 1,
       "tokenId": "eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJod.PW_z3ySUN4LT99f-X7NhS1Apq", //用于api认证的token,标准jwt格式
      "userId": "KeiN_96ZIUE",
      "expiresOn": "2020-02-19T07:44:46.000Z", //token过期时间
      "refreshToken": "1ac4f79d-2155-4f4c-a148-9ad75c2b70e1", //刷新token用
      "refreshExpiresOn": "2020-02-20T02:44:46.000Z", //刷新token过期时间
      "invalidatedOn": "2020-02-19T07:44:46.000Z" //失效时间
     }
    
    • 授权失败返回结果:
     {
     "httpErrorCode": 401,
     "message": "Error: 18680533727",
     "kapuaErrorCode": "INVALID_LOGIN_CREDENTIALS"
     }
    

    kapuaErrorCode 结果如下:

    • INVALID_LOGIN_CREDENTIALS 密码错误
    • UNKNOWN_LOGIN_CREDENTIAL 账号没找到
    • LOCKED_LOGIN_CREDENTIAL 账号锁定
    • DISABLED_LOGIN_CREDENTIAL 账号禁用
    • EXPIRED_LOGIN_CREDENTIALS 密码过期
  • 接口测试

    • 可通过curl http客户端工具,curl命令行样例如下: curl -X POST “https://dev.izhiju.cn/api/v1/authentication/user" -H “accept: application/json” -H “Content-Type: application/json” -d “{ "username": "string", "password": "string"}”

    • swagger在线文档:打开URL https://dev.izhiju.cn/doc/#/Authentication/authenticationUser 点击 ’try it out‘

      • 用户登录-try it out
      • 用户登录-输入用户名密码
      • 用户返回成功JSON对象
      • 复制字段tokenId的值(tokenId 有效时间三十分钟,具体时间看返回结果中的有效时间)
      • 点击api文档页面顶部 Authorize 按钮,将值粘贴到输入框中,然后点击Authorize,点击关闭,然后可以访问其它api了,系统会将token自动添加到header中进行认证授权。授权按钮 token输入

2.刷新tokenId 接口

{
  "tokenId": "string",
  "refreshToken": "string"
}
  • 参数: “tokenId”: 用户登录接口返回JSON对象中, “refreshToken”: 用户登录接口返回JSON对象中 。
  • 刷新tokenId接口参数

请求成功:

  • 可以一直循环请求刷新tokenId 接口 (第一次重新获取tokenId是用的用户登录接口中的tokenid和refreshtoken参数,之后每一次请求都是用当前返回的参数tokenid和refreshtoken)

3.退出登录接口

直接try it out请求不需要传参数

4.查看用户是否存在接口

  • 参数: * scopeId: QJaWfWI9fyI(固定值 路径参数 Pathparam) * username:手机号码 (请求查询参数 Queryparam)

请求成功:

  • 返回json数据
  • 查看用户是否存在接口
{
  "message": "userNotExist" // userExist
}

5.获得验证码接口

  • 参数:
    • scopeId: QJaWfWI9fyI(固定值 路径参数 Pathparam)
    • phoneNumber:手机号码 (路径参数 Pathparam)
    • key: 邮件获取(固定值 路径参数 Pathparam)
    • product:邮件获取 (固定值 查询参数 QueryParam)
  • 查看用户是否存在接口

请求成功:

  • 返回json数据
{
  "code": "OK",
  "message": "OK"
}

请求失败: 错误码网站: https://help.aliyun.com/knowledge_detail/57717.html?spm=a2c4g.11186623.6.596.48e691ebLckEAQ


6.注册用户 忘记密码接口

{
  "name": "phoneNumber",
  "phoneNumber": "phoneNumber"
}
  • 参数:
    • scopeId:QJaWfWI9fyI(固定值 路径参数 pathparam)
    • phoneNumber:手机号码 (查询参数 QueryParam)
    • yzm: 输入手机获取到的验证码 (查询参数 QueryParam)
    • password:输入密码(包含大小写,特殊符号 数字 长度不能少于12位 查询参数 QueryParam)

请求成功:

  • 系统将返回JSON对象
    • 复制字段tokenId的值(tokenId 有效时间三十分钟)
    • 查看用户是否存在接口
    • 将值粘贴到网页顶部标有api_key的框中

7.登录成功 查看用户信息接口

  • 系统将返回JSON对象用户信息
    • 查看用户是否存在接口

8.登录成功 修改用户信息接口

{
  "expirationDate": "2018-12-10T09:43:58.133Z",
  "email": "string",
  "phoneNumber": "string",
  "userType": "DEVICE",
  "externalId": "string",
  "userStatus": "ENABLED",
  "headPortrait": "string",
  "displayName": "string",
  "name": "string",
  "entityAttributes": {},
  "scopeId": "string"
}
  • 参数: * scopeId:QJaWfWI9fyI (用户登录接口中获取 客户id 固定值 路径参数 Pathparam) * 其它的参数 需要修改什么就传什么参数; * 例如修改displayName * 查看用户是否存在接口

请求成功:

  • 系统将返回JSON对象更新的用户信息 如上图

9.登录成功 用户修改密码接口

  • 参数: * scopeId:用户登录接口中获取 * oldPassword:旧密码 * newPassword:新密码 (包含大小写,特殊符号 数字 长度不能少于12位)

请求成功:

  • 返回json数据
  • 查看用户是否存在接口