Log In¶
使用帐号密码登录 Application Portal。
请求格式¶
POST https://{apigw-address}/app-portal-service/v2.2/login
请求参数(Body)¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
account |
必需 |
String |
用户名。 |
password |
必需 |
String |
登录密码。 |
响应参数¶
名称 |
数据类型 |
描述 |
---|---|---|
data |
List<JSONObject> |
用户信息。详见 用户信息结构体 |
用户信息结构体 ¶
名称 |
数据类型 |
描述 |
---|---|---|
organizations |
List<JSONObject> |
用户所在的组织列表,包含组织名称和ID。详见 IdNamePair结构体 |
user |
List<JSONObject> |
用户信息,包含用户名称和ID。详见 IdNamePair结构体 |
accessToken |
String |
Access Token,以Bearer Token表示。 |
IdNamePair结构体¶
名称 |
数据类型 |
描述 |
---|---|---|
id |
String |
用户ID或组织ID。 |
name |
String |
用户名称或组织名称。 |
错误码¶
代码 |
错误信息 |
描述 |
---|---|---|
31400 |
The user name or password is wrong |
用户账号密码不能为空或者填写错误 |
31429 |
密码或IP错误次数过多,请稍后重试 |
示例¶
请求示例¶
url: https://{apigw-address}/app-portal-service/v2.2/login
method: POST
requestBody:
{"account":"portal_demo","password":"Test1234"}
返回示例¶
{
"code": 0,
"data": {
"accessToken": "APP_PORTAL_S_WX89rC4pqsMc478tyP6gb9zFmT9qYaW7",
"organizations": [
{
"id": "yourOrgId_1",
"name": "Portal Demo"
},
{
"id": "yourOrgId_2",
"name": "rm_0726_001"
}
],
"user": {
"id": "yourUserId",
"name": "portal_demo"
}
},
"message": "OK"
}
Java SDK 调用示例¶
public class AppPortalSdkTest{
@Test
public void loginTest() {
LoginRequest loginRequest = new LoginRequest("your_user_name", "your_password");
loginResponse = Poseidon.config(PConfig.init().appKey("your_access_key").appSecret("your_secret_key").debug())
.url("https://{apigw-address}").getResponse(loginRequest, LoginResponse.class);
System.out.println("Login res: " + JSON.toJSONString(loginResponse));
assertNotNull("Response should not be null", loginResponse);
assertNotNull("Response data should not be null", loginResponse.data);
assertNotNull("Access token should not be null", loginResponse.data.accessToken);
assertNotNull("User object should not be null", loginResponse.data.user);
assertNotNull("Organizations should not be null", loginResponse.data.organizations);
assertThat("Organizations should not be empty", loginResponse.data.organizations, not(IsEmptyCollection.empty()));
assertThat("First organization should not be null", loginResponse.data.organizations.get(0), notNullValue());
}
}