Choose Organization

用户在登录 Application Portal 后,选择需要进入的组织。

请求格式

POST https://{apigw-address}/app-portal-service/v2.2/session/set

请求参数(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);
    }
}