Log In Via Authorization Code

通过单点登录(SSO)的授权码登录。

请求格式

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

请求参数(Body)

名称

必需/可选

数据类型

描述

code

必需

String

授权码

响应参数

名称

数据类型

描述

data

List<JSONObject>

用户信息。详见 用户信息结构体

用户信息结构体

名称

数据类型

描述

organizations

List<JSONObject>

用户所在的组织列表,包含组织名称和ID。详见 IdNamePair结构体

user

List<JSONObject>

用户信息,包含用户名称和ID。详见 IdNamePair结构体

IdNamePair结构体

名称

数据类型

描述

id

String

用户ID或组织ID。

name

String

用户名称或组织名称。

错误码

代码

错误信息

描述

31400

Authorization code is not valid.

授权码无效

31429

密码或IP错误次数过多,请稍后重试

示例

请求示例

url: https://{apigw-address}/app-portal-service/v2.2/loginViaCode

method: POST

requestBody:
{"code":"authorizationCode"}

返回示例

{
  "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 loginViaAuthorizationCodeTest(){
        LoginViaCodeRequest request=new LoginViaCodeRequest("your_code");
        LoginViaCodeResponse response=getPoseidon().getResponse(request,LoginViaCodeResponse.class);
        assertNotNull("response data should not be null", response.data);
    }
}