- 文档
- 身份认证
- Log In Via Authorization Code
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);
}
}