Customer Identity (CIAM)

Unified User Password Login

During the invocation of the Unified User Password Login interface, different results are returned based on 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/auth

# Request Headers

Parameter Name Chinese Name Required Type Example
X-operating-sys-version Client Operating System Version of the Caller Yes String windows10.1.1
X-device-fingerprint Client Device Fingerprint of the Caller Yes String 156aysdna213sc50
X-device-ip Client IP Address of the Caller 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

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

# Request Parameters

Parameter Name Chinese Name Required Type Description
user_name Account Yes String Account
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 about to expire workflow):
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 workflow):
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

# Return Parameters

Parameter Name Chinese Name Type Description
status Login Process Status Identifier String Possible return 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, within which the session_token can be used to obtain a ticket
session_token User session_token String User session_token, which can be used to call IDaaS interfaces to obtain a new id_token
state_token User State Token String User State Token
id_token Short-term valid, interface call token String This field is in JWT format and contains user identity information. Please refer to Get User Information 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 input device information is complete
设备信息不完整
400 IDAAS.SDK.PARAM.0002 clientId cannot be empty Please check if the input clientId is empty
clientId不能为空
400 IDAAS.SDK.PARAM.0003 The app is not registered, please register the app first Please check if the input clientId is correct
应用未注册,请先注册应用
400 IDAAS.SDK.PARAM.0010 Account cannot be empty Please check if the input account is empty
账号不能为空
400 IDAAS.SDK.USER.0006 Password cannot be empty Please check if the input 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 input 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
用户已被禁用