Log In¶
登录EnOS。
请求格式¶
POST https://{apigw-address}/enos-iam-service/v2.0/login
请求参数(Body)¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
authType |
必需 |
Enum |
认证类型,0:EnOS,1:LDAP。 |
linkName |
可选 |
String |
LDAP域名,使用LDAP认证类型时必需。 |
principal |
必需 |
String |
账户。 |
credentials |
必需 |
String |
密码。 |
keyId |
可选 |
String |
加密公钥ID。 |
captcha |
可选 |
String |
图形验证码,目前为预留字段。 |
clientIp |
可选 |
String |
客户端IP地址。 |
expireInterval |
可选 |
Integer |
会话过期时间,单位为秒。 |
响应参数¶
名称 |
数据类型 |
描述 |
---|---|---|
captcha |
String |
图形验证码。 |
session |
List<JSONObject> |
会话信息。详见 Session结构体>> |
Session结构体 ¶
名称 |
数据类型 |
描述 |
---|---|---|
id |
String |
会话ID。 |
expires |
Integer |
会话过期时间。 |
user |
List<JSONObject> |
用户详细信息。详见 User结构体>> |
residentOrganization |
List<JSONObject> |
用户创建时所属组织。 |
workingOrganization |
List<JSONObject> |
当前组织信息。 |
refreshTime |
Long |
刷新时间。 |
createTime |
Long |
创建时间。 |
User结构体 ¶
名称 |
数据类型 |
描述 |
---|---|---|
id |
String |
用户ID。 |
organizationId |
String |
用户所属的组织ID。 |
authType |
Enum |
认证类型,0:EnOS,1:LDAP。 |
name |
String |
用户名。 |
phone |
String |
手机号码。 |
phoneVerifiedAt |
String |
手机号码验证时间。 |
String |
用户电子邮件地址。 |
|
emailVerifiedAt |
String |
电子邮件验证时间。 |
description |
String |
用户描述。 |
extra |
Map |
用户其他信息。 |
resourceId |
String |
资源ID。 |
type |
Enum |
用户类型,0:普通用户,1:组织所有者,2:组织管理员。 |
state |
Enum |
账号状态,0:正常,1:禁用。 |
mfaType |
Enum |
多因子认证类型,0:无需验证,1:手机验证,2:邮箱验证,3:手机或邮箱验证。 |
passwordState |
Enum |
密码状态,0:正常,1:需要强制更新。 |
passwordExpireTime |
Long |
密码过期时间。 |
passwordStrength |
Enum |
密码强度,0:中等强度,1:强,2:极强。 |
createTime |
String |
用户创建时间。 |
createdByUserId |
String |
用户创建者ID。 |
错误码¶
代码 |
描述 |
---|---|
30400 |
账号或密码错误,LDAP域名为空、LDAP属性映射错误或连接失败 |
30404 |
LDAP连接不存在 |
30410 |
密码已过期 |
30429 |
该IP或该账户登陆失败次数过多,请稍后再试 |
30511 |
该用户被禁用,或LDAP登陆已关闭 |
错误码返回message(供参考)¶
* 30400: Incorrect user account or password; Username and password cannot be empty; BASE DN ID is required; LDAP mapping is invalid; Mapping of the LDAP attributes is invalid. Contact the administrator for support. Failed to connect to LDAP server
* 30404: LDAP connection does not exist
* 30410: You password has expired. Please contact your organization administrator to ret your password.
* 30429: Failed login attempts exceed limit. IP address is locked; Failed login attempts exceed limit. User account is locked;
* 30511: LDAP login is disabled; user.banned.not.allowed;
示例¶
请求示例¶
url: https://{apigw-address}/enos-iam-service/v2.0/login
method: POST
requestBody:
{
"authType":0,
"linkName":"",
"credentials":"xxx",
"principal":"xxxx",
"keyId":"yyy",
"captcha":"xxxx",
"clientIp":"1.1.1.1",
"expireInterval":3600
}
返回示例¶
{
"fail": false,
"session": {
"workingOrganization": {
"domain": "db_portal",
"name": "portal",
"id": "o15578227985571"
},
"expires": 7200,
"createTime": 1562849746,
"residentOrganization": {
"domain": null,
"name": "portal",
"id": "o15578227985571"
},
"refreshTime": 1562850052,
"id": "IAM_S_HbH8y6sP77T5uUDgqLfzGCZkrz9x5Pyr3VMVARBBQRK8YDbAnsU9YWdUQAMkBu7g4fQKUXmPjakeSmqpFVWsANXKdrBJKUxrLxZC9MvCVHqTc5HyqTcnANz3M8HMhnTb",
"user": {
"createdByUserId": "u1544xxxxxxxxxx",
"resourceId": "r15578227990212",
"phoneVerified": false,
"description": "",
"type": 2,
"organizationId": "o15578227985571",
"createdAt": null,
"emailVerified": true,
"phoneVerifiedAt": null,
"phone": "",
"createTime": "2019-05-14 08:33:19.0",
"emailVerifiedAt": null,
"mfaType": null,
"extra": null,
"organization": null,
"name": "portal",
"phoneArea": "",
"id": "u1557xxxxxxxxxx",
"state": 0,
"authType": 0,
"email": "user@mail.com"
}
},
"captcha":"",
"success": true,
"requestId": null,
"failed": false,
"message": "",
"status": 0,
"successful": true
}