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

手机号码验证时间。

email

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
}