Customer Identity (CIAM)
Mobile Number + Password Login
During the invocation of the mobile number + password login interface, different results are returned based on the configuration. A successful normal call returns the user's session_token. If password expiration check is enabled, it returns a state_token. A failed call returns failure information.
# Request Specification
POST https://{your_domain}/api/v2/sdk/login/mobile-pwd
# Request Headers
| Parameter Name | Chinese Name | Required | Type | Example |
|---|---|---|---|---|
| X-operating-sys-version | Calling Client OS Version | Yes | String | windows10.1.1 |
| X-device-fingerprint | Calling Client Device Fingerprint | Yes | String | 156aysdna213sc50 |
| X-device-ip | Calling Client IP | No | String | 192.168.1.2 |
| X-agent | User-Agent Information | Yes | String | Mozilla/5.0 (iPhone; CPU iPhone OS 13_3 like Mac OS X) |
| X-L | For Internationalization Language Setting | No | String | zh |
| X-client-id | Application Authorization ID | Yes | String | nTo1eRIub60vPb54WeE6aojPwYwImtl4 |
| content-type | Content Format Type | Yes | String | application/json |
# Request Example
{
"mobile":"15200000000",
"password":"123456"
}
1
2
3
4
2
3
4
# Request Parameters
| Parameter Name | Chinese Name | Required | Type | Description |
|---|---|---|---|---|
| mobile | Mobile Number | Yes | String | Mobile Number |
| password | Password | Yes | String | Password |
# Response Example
Success Example 1 (Returns session_token upon successful user match):
HTTP/1.1 200 OK
Content-Type: application/json
{
"session_token": "btsiBjx85prcZu6I6Ki057Tmw3nSF2VO",
"expire": 432000,
"status": "SUCCESS",
"id_token": "eyJ0NiJ9.eyJ1cI6IjIifX0.DeWt4QuZXso"
}
Success Example 2 (Returns password nearing expiration flow):
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种\"}"
}
Success Example 3 (Returns password expired flow):
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种\"}"
}
Error Example:
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
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
# Response Parameters
| Parameter Name | Chinese Name | Type | Description |
|---|---|---|---|
| status | Login Process Status Identifier | String | Possible values for this field are: SUCCESS Login successful PASSWORD_WARN Password about to expire PASSWORD_EXPIRED Password expired ACCESS_DENIED Access denied |
| expire | session_token Validity Period | Number | Session_token validity period. Ticket can be obtained using session_token within this period. |
| session_token | User session_token | String | User session_token. This token can be used to call IDaaS APIs to obtain a new id_token. |
| state_token | User State Token | String | User State Token |
| id_token | Short-term valid API call token | String | This field is in JWT format and contains user identity information. Refer to Get User Info from id_token to obtain user information. The token validity period defaults to 5 minutes and is configurable. |
| data | Return Description | String | Return Description |
# Error Codes
| Status Code | Error Code | Error Message | Handling Measures |
|---|---|---|---|
| 400 | IDAAS.SDK.PARAM.0001 | Device information is incomplete | Please check if the entered device information is complete |
| 设备信息不完整 | |||
| 400 | IDAAS.SDK.PARAM.0002 | clientId cannot be empty | Please check if the entered clientId is empty |
| clientId不能为空 | |||
| 400 | IDAAS.SDK.PARAM.0003 | The app is not registered, please register the app first | Please check if the entered clientId is correct |
| 应用未注册,请先注册应用 | |||
| 400 | IDAAS.SDK.USER.0004 | Mobile number cannot be empty | Please check if the entered mobile number is empty |
| 手机号不能为空 | |||
| 400 | IDAAS.SDK.USER.0006 | Password cannot be empty | Please check if the entered password is 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 | Please unlock and try again |
| 由于多次登录失败,用户已被锁定。 它将在 {0} 分钟和 {1} 秒内解锁 | |||
| 400 | IDAAS.SDK.LOGIN.0002 | Invalid account or password. Remaining times: {0} | Please check if the entered username or password is correct |
| 无效的账号或密码。 剩余次数:{0} | |||
| 500 | IDAAS.SDK.COM.0002 | System busy, please try again later | Please retry or contact Zhuyun staff |
| 系统繁忙,请稍后再试 | |||
| 400 | IDAAS.SDK.USER.0039 | User is disabled | Please contact the administrator |
| 用户已被禁用 |
