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);
}
}