访问任何接口API之前必须调用认证接口,生成用于身份验证的Token。
各个API的调用都需要进行身份认证,每次访问都需要在 Header 里加一个AccessToken,下面将说明如何获取和刷新这个Token。
请求URL: https://eln.iphy.ac.cn:61262/tokens
https://eln.iphy.ac.cn:61263/matelab/index.php?do=tokens&action=tokens(已废弃)
https://in.iphy.ac.cn/open/tokens2.php(已废弃)
请求方式: POST
POST 内容
username: 用户名
password: 密码
Header
Content-Type: application/x-www-form-urlencoded
返回信息
| errcode | 错误代码;
|
| userid | 用户ID; |
| realname | 用户姓名; |
| 用户 Email 信息; | |
| avatar | 用户头像 URL 地址; |
| access | access Token,用于以后的身份验证操作。有效时间60分钟;
|
| refresh | 刷新 token,可在 accessToken 失效后用此刷新Token调用刷新接口获得可用Token。有效时间24小时;
|
| errmsg | 错误信息。 |
登录成功示例
{
"code": 0,
"userid": 94,
"realname": "张三",
"email": "aaa@iphy.ac.cn",
"avatar": "https://in.iphy.ac.cn/a.png",
"access": {
"token": "1128773d4aa9fc2686a7fe098b681561c7aeb829371",
"expiredAt": 1650945901000
},
"refresh": {
"token": "112b829371686a7fe09aa9fc281561c7a8773d4e8b6",
"expiredAt": 1650945901000
}
}
登录失败示例
{
"code": 1,
"msg": "用户名或密码错误"
}
其中access中的token是后续需要的,expiredAt字段是该Token的失效时间,默认从生成有效期是30分钟。refresh是刷新token,可在accessToken失效后刷新
请求URL: https://eln.iphy.ac.cn:61262/tokens/tokens_refresh
请求方式: POST
POST 内容
refresh_token: refreshToken
Header
Content-Type: application/x-www-form-urlencoded
返回信息
| code | 错误代码;
|
| access | 新的 access Token。有效时间60分钟;
|
| refresh | 新的刷新 token,旧的 refresh Token 失效。有效时间24小时;
|
| msg | 错误信息。 |
返回值示例
{
"code": 0,
"access":
{
"token": "112aa9fc281561c7a8773d4eb829371686a7fe098b6",
"expiredAt": 1650945901000
},
"refresh":
{
"token": "1124eb829371686a7fe091b6aa9fc281561c7a8773d",
"expiredAt": 1650945901000
},
}
失败示例
{
"code": 1,
"msg": "无效 refresh token"
}