客户身份(CIAM)

用户名+密码登录

用户名密码登录接口调用过程中,根据配置返回不同结果,正常调用成功会返回用户的session_token,开启密码过期检查会返回state_token,失败返回失败信息。

# 请求说明

POST https://{your_domain}/api/v2/sdk/login

# 请求头

参数名 中文名称 必须 类型 示例
X-operating-sys-version 调用方客户端操作系统版本 String windows10.1.1
X-device-fingerprint 调用方客户端设备指纹 String 156aysdna213sc50
X-device-ip 调用方客户端IP String 192.168.1.2
X-agent User-Agent信息 String Mozilla/5.0 (iPhone; CPU iPhone OS 13_3 like Mac OS X)
X-L 用于国际化语言设置 String zh
X-client-id 应用授权ID String nTo1eRIub60vPb54WeE6aojPwYwImtl4
content-type 内容格式类型 String application/json

# 请求示例

{
    "user_name":"test01",
    "password":"123456"
}
1
2
3
4

# 请求参数

参数名 中文名称 必须 类型 描述
user_name 用户名 String 用户名
password 密码 String 密码

# 返回示例

成功示例1(成功匹配用户返回session_token):
HTTP/1.1 200 OK
Content-Type: application/json
{
	"session_token": "btsiBjx85prcZu6I6Ki057Tmw3nSF2VO",
	"expire": 432000,
	"status": "SUCCESS",
	"id_token": "eyJ0NiJ9.eyJ1cI6IjIifX0.DeWt4QuZXso"
}

成功示例2(返回密码快过期流程):
HTTP/1.1 200 OK
Content-Type: application/json
{
	"status": "PASSWORD_WARN",
	"state_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9",
	"data": "{\"maxLength\":18,\"minLength\":8,\"regEx\":\"^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z~!#$%&+\\\\-,*:;<=>@_?^、`~\\\\./]+$)(?![a-z0-9]+$)(?![a-z~!#$%&+\\\\-,*:;<=>@_?^、`~\\\\./]+$)(?![0-9~!#$%&+\\\\-,*:;<=>@_?^、`~\\\\./]+$)[a-zA-Z0-9~!#$%&+\\\\-,*:;<=>@_?^、`~\\\\./]{1,}$\",\"tip\":\"至少包含数字、大写字母、小写字母和特殊字符中的3种\"}"
}

成功示例3(返回密码已过期流程):
HTTP/1.1 200 OK
Content-Type: application/json
{
	"status": "PASSWORD_EXPIRED",
	"state_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9",
	"data": "{\"maxLength\":18,\"minLength\":8,\"regEx\":\"^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z~!#$%&+\\\\-,*:;<=>@_?^、`~\\\\./]+$)(?![a-z0-9]+$)(?![a-z~!#$%&+\\\\-,*:;<=>@_?^、`~\\\\./]+$)(?![0-9~!#$%&+\\\\-,*:;<=>@_?^、`~\\\\./]+$)[a-zA-Z0-9~!#$%&+\\\\-,*:;<=>@_?^、`~\\\\./]{1,}$\",\"tip\":\"至少包含数字、大写字母、小写字母和特殊字符中的3种\"}"
}

错误示例:
HTTP/1.1 400 Bad Request
{
    "error_code": "IDAAS.SDK.LOGIN.0002",
    "error_msg": "Invalid account or password. Remaining times: 9"
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

# 返回参数

参数名 中文名称 类型 描述
status 登录流程状态标识 String 该字段可能返回的值如下:
SUCCESS 登录成功
PASSWORD_WARN 密码快过期
PASSWORD_EXPIRED 密码已过期
ACCESS_DENIED 拒绝访问
expire session_token有效期 Number Session_token有效期,有效期内可使用session_token获取ticket
session_token 用户session_token String 用户session_token,可使用该token调用IDaaS接口获取新的id_token
state_token 用户带有状态的令牌 String 用户带有状态的令牌
data 返回说明 String 返回说明
id_token 短期有效,接口调用令牌 String 该字段为jwt格式,包含用户身份信息。可参考根据id_token获取用户信息获取用户信息。令牌有效期默认为5分钟,支持可配置

# 错误码

状态码 错误码 错误信息 处理措施
400 IDAAS.SDK.PARAM.0001 Device information is incomplete 请检查输入的设备信息是否完整
设备信息不完整
400 IDAAS.SDK.PARAM.0002 clientId cannot be empty 请检查输入的clientId是否为空
clientId不能为空
400 IDAAS.SDK.PARAM.0003 The app is not registered, please register the app first 请检查输入的clientId是否正确
应用未注册,请先注册应用
400 IDAAS.SDK.USER.0002 Username cannot be empty 请检查输入的用户名是否为空
用户名不能为空
400 IDAAS.SDK.USER.0006 Password cannot be empty 请检查输入的密码是否为空
密码不能为空
400 IDAAS.SDK.LOGIN.0001 User has been locked out due to multiple login failures. It will be unlocked in {0} minutes and {1} seconds 请解锁后重试
由于多次登录失败,用户已被锁定。 它将在 {0} 分钟和 {1} 秒内解锁
400 IDAAS.SDK.LOGIN.0002 Invalid account or password. Remaining times: {0} 请检查输入的用户名或密码是否正确
无效的账号或密码。 剩余次数:{0}
500 IDAAS.SDK.COM.0002 System busy, please try again later 请重新调用或联系竹云工作人员
系统繁忙,请稍后再试
400 IDAAS.SDK.USER.0039 User is disabled 请联系管理员
用户已被禁用