Choose Organization¶
用户在登录 Application Portal 后,选择需要进入的组织。
操作权限¶
用户需要登录 Application Portal。
请求格式¶
POST https://{apigw-address}/app-portal-service/v2.2/session/set
请求参数(Header)¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
Authorization |
必需 |
String |
Access Token,以Bearer Token表示,需要通过调用 Log In 或 Refresh Access Token 接口后获取。 |
请求参数(Body)¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
orgId |
必需 |
String |
组织ID。调用 Log In 接口登录后,获取用户可进入的组织ID。 |
响应参数¶
名称 |
数据类型 |
描述 |
---|---|---|
data |
List<JSONObject> |
登录用户信息。详见 登录用户信息结构体 |
登录用户信息结构体 ¶
名称 |
数据类型 |
描述 |
---|---|---|
userId |
String |
用户ID。 |
userName |
String |
用户名称。 |
currentOrgId |
String |
当前组织ID。 |
currentOrgName |
String |
当前组织名称。 |
accessToken |
String |
请求中的 Access Token。 |
refreshToken |
String |
可用于刷新当前 Access Token 的 Refresh Token。 |
refreshTokenExpire |
Long |
Refresh Token 的过期时间。以UTC时间表示,格式见 UTC采用的ISO8601标准时间格式>> |
错误码¶
代码 |
错误信息 |
描述 |
---|---|---|
31400 |
orgId is required |
组织ID不能为空 |
31401 |
Please login first |
请先登录,获取正确的Access Token |
31404 |
Can not find this organization. |
未找到对应组织 |
示例¶
请求示例¶
url: https://{apigw-address}/app-portal-service/v2.2/session/set
method: POST
headers: {"Authorization":"Bearer APP_PORTAL_S_TDKKeqfYBK3m5z3LRgKVqThWDYnRBN44"}
requestBody:
{"orgId":"yourOrgId"}
返回示例¶
{
"code": 0,
"message": "OK",
"data": {
"userId": "yourUserId",
"userName": "portal_demo",
"currentOrgId": "yourOrgId",
"currentOrgName": "Portal Demo",
"accessToken": "APP_PORTAL_S_tsNqGkfWGj9AW6qSHADEW4wuxAHQN3dN",
"refreshToken": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1MTU1ODkzMTYxMDkwOTEiLCJhZG1pbkxldmVsIjoyLCJpc3MiOiJBUFAtUE9SVEFMIiwid29ya2luZ09yZ2FuaXphdGlvbklkIjoibzE1NTg5MzA4OTQ0NzgxIiwidXNlck5hbWUiOiJwb3J0YWxfZGVtbyIsIndvcmtpbmdPcmdhbml6YXRpb25OYW1lIjoiUG9ydGFsIERlbW8iLCJleHAiOjE1NzAwMTg5NTgsInVzZXJJZCI6InUxNTU4OTMxNjEwOTA5MSIsImlhdCI6MTU2NzQyNjk1OCwianRpIjoiand0X2lkIn0.Ql1vNVvb0ok2uWzzU1jiBzAyvRdBOkzzfnHD4PLsi1E",
"refreshTokenExpire": 1570018958000
}
}
Java SDK 调用示例¶
public class AppPortalSdkTest{
@Test
public void chooseOrganizationTest() {
String organizationId = "your_org_id";
ChooseOrganizationRequest chooseOrganizationRequest = new ChooseOrganizationRequest(organizationId, "your_access_token");
chooseOrganizationResponse = Poseidon.config(PConfig.init().appKey("your_access_key").appSecret("your_secret_key").debug())
.url("https://{apigw-address}").getResponse(chooseOrganizationRequest, ChooseOrganizationResponse.class);
System.out.println("List organization res: " + JSON.toJSONString(chooseOrganizationResponse));
assertNotNull("Response should not be null", chooseOrganizationResponse);
assertNotNull("Response data should not be null", chooseOrganizationResponse.data);
assertNotNull("UserId should not be null", chooseOrganizationResponse.data.userId);
refreshToken = chooseOrganizationResponse.data.refreshToken;
assertNotNull("Refresh token should not be null", refreshToken);
}
}