获取凭据

所有接口都需要先验证身份以获得凭据,然后才被允许请求。


用户登录

提供帐号、密码以校验身份,并获得身份凭据。

请求报头:

名称说明
Authorization以Basic认证方式传递{tenantId}{secretKey}

格式:Basic[空格]base64({tenantId}:{secretKey})

示例:

设定{tenantId}为666888,{secretKey}为abcdfghijklmn

以半角冒号连接,然后base64("666888:abcdfghijklmn")为NjY2ODg4OmFiY2RmZ2hpamtsbW4

最终报头为Authorization:Basic NjY2ODg4OmFiY2RmZ2hpamtsbW4=

请求地址:/auth/check

请求谓词:POST

请求主体:

名称类型长度必须说明
username文本2~50员工帐号
password文本7~80员工密码

请求示例:

headerAuthorization:Basic NjY2ODg4OmFiY2RmZ2hpamtsbW4=methodPOSTbody{    "username":"tester",    "password":"aWV0d2lu"}

响应代码:

代码说明
200帐密校验通过,账户可用,授权成功并返回凭证
202帐密校验通过,账户可用,需要完成MFA验证
403帐密校验通过、账户已禁用
404帐密校验未通过:账户不存在或帐密错误

响应200主体:

名称类型必须说明
token_type文本授权类型
access_token文本授权凭据
access_token文本授权凭据有效期限,时间戳(Unix timestamp,毫秒)
profile对象当前被授权的员工信息
profile.id数值员工编号
profile.fullName文本员工姓名
profile.userName文本员工帐号
profile.admin布尔是否为管理员
profile.reset布尔是否需要更改密码

true时应该引导员工及时修改密码

响应202主体:

名称类型必须说明
id数值员工编号
fullName文本员工姓名
userName文本员工帐号
uts数值时间戳
hash文本防伪签名

响应403/404主体:

名称类型必须说明
userName文本员工帐号

响应200示例:

{    "status":200,    "message":"ok",    "data":{        "token_type":"Bearer",        "access_token":"aaaa.bbbb.cccc.dddd",        "expires":1218154088000,        "profile":{            "id":12345678,            "fullName","TEST001",            "userName":"tester",            "admin":false,            "reset":false,        }    },    "timestamp":1218154088000}

MFA验证

仅当员工账户绑定了MFA才需要提供响应的验证,即用户登录响应202状态码时。

需向员工要求提供MFA设备上实时显示的验证码(一般为6位数字)。

请求报头:

名称说明
Authorization以Basic认证方式传递{tenantId}{secretKey}

请求谓词:POST

请求主体:

名称类型长度必须说明
id数值员工编号;上一步响应中提供
mfa文本4~12MFA设备上当前显示的验证码
uts数值时间戳;上一步响应中提供
hash文本防伪签名;上一步响应中提供

响应代码:

代码说明
200帐密校验通过,账户可用,授权成功并返回凭证
403帐密校验通过、账户已禁用
404帐密校验未通过:账户不存在或帐密错误

响应主体:

根据上一步对应的响应代码下的响应主体说明。


授权访问

后续所有请求将直接使用上一步响应提供的凭据类型及内容。

请求报头:

名称说明
Authorization授权凭证

如:Authorization:Bearer aaaa.bbbb.cccc.dddd

注意:

后续的接口阐述中将不再额外指出该报头。

请根据凭据有效期,自行选择重新登录或续期。