GenAuth DocsDocuments
Concepts
User Guide
Development Integration
AgentAuth
Metadata
Development Integration
Multi-tenant (beta)
Console Documentation
Multi-tenant Console
Tenant Console
Saas Application Demo
Concepts
User Guide
Development Integration
AgentAuth
Metadata
Development Integration
Multi-tenant (beta)
Console Documentation
Multi-tenant Console
Tenant Console
Saas Application Demo
Old version
Development Integration
  • API

  • SDK

    • Java

      • Installation and use
      • User authentication module

      • Management module

        • Manage users

        • Management Roles

        • Manage user groups

        • Manage custom fields

        • Manage Resources and Permissions

        • Manage data resources and permissions

          • Create permission space
          • Batch create permission spaces
          • Get permission space details
          • Batch get permission space details list
          • Paged get permission space list
          • Modify Permission Space
          • Delete Permission Space
          • Batch Delete Permission Space
          • Check whether the permission space Code or name is available
          • Paginated query of all roles in the permission space
          • Create data resources
          • Create string data resources
          • Create array data resources
          • Create tree data resources
          • Get data resource list
          • Get data resource information
          • Modify data resources
          • Delete data resources
          • Check data resource name or Code Is it available
          • Create data resource extension fields
          • Batch create data resource extension fields
          • Delete data resource extension fields
          • Modify data resource extension fields
          • Get data resource extension field list
          • Create data policy
          • Get data policy list
          • Get a list of simple data policy information
          • Get data policy information
          • Modify data policy
          • Delete data policy
          • Check whether the data policy name exists
          • Get all the information of the authorized subjects under the data policy
          • Authorize Data Policy
          • Revoke Data Policy
          • Get User Permission List
          • Judge user permissions
          • Judge external user permissions
          • Get user-specified resource permission list
          • Get a list of users authorized to use resources
          • Get a list of user-authorized resources
          • Get the structure list of external user authorization resources
          • Judge the user's permissions under the same level resources of the tree resource
        • Manage Applications

        • Manage Identity Sources

        • Manage security configuration

        • Manage message service

        • Manage Pipeline

        • Manage Webhook

        • Get audit log

        • Manage metering and billing

        • Events
    • Node.js

    • Python

  • Error Codes
  1. Development Integration
  2. /
  3. SDK
  4. /
  5. Java
  6. /
  7. Management module

  8. /
  9. Manage data resources and permissions

  10. /
  11. Get User Permission List

¶ Get user permission list

Update time: 2025-07-23 07:34:21
Edit

This document is automatically generated based on https://github.com/authing/authing-docs-factory based on https://api-explorer.genauth.ai V3 API, and is consistent with API parameters and return results. If the document description is incorrect, please refer to V3 API.

¶ Description

This interface is used to query the permission data of certain users in certain permission spaces.

Our authentication interface has multiple authentication scenarios, the difference lies in the parameter list that can be passed in the scenario and the different forms of output parameters. When you need to query all permissions of certain users, you can use this interface,

¶ Note

The interface provides two array-type input parameters userIds and namespaceCodes to support batch query (note: namespaceCodes is optional).

¶ Scenario Example

If your business scenario is that after a user logs in, he can see all the documents, personnel information, equipment information and other resources that he can access or perform other operations on, then you can call this interface to query all the user's permissions after the user logs in.

¶ Request Example

¶ Query a single user permission list example

Note: In the return parameters of this interface, the tree type data resource permissions are returned in the path way

  • Entry
{
  "userIds": ["6301ceaxxxxxxxxxxx27478"]
}
  • Parameters
{
  "statusCode": 200,
  "message": "Operation successful",
  "apiCode": 20001,
  "data": {
    "userPermissionList": [
      {
        "userId": "6301ceaxxxxxxxxxxx27478",
        "namespaceCode": "examplePermissionNamespace",
        "resourceList": [
          {
            "resourceCode": "strCode",
            "resourceType": "STRING",
            "strAuthorize": {
              "value": "Example string resource",
              "actions": ["read", "post", "get", "write"]
            }
          },
          {
            "resourceCode": "arrayCode",
            "resourceType": "ARRAY",
            "arrAuthorize": {
              "values": [
                "Example array resource 1",
                "Example array resource 2"
              ],
              "actions": ["read", "post", "get", "write"]
            }
          },
          {
            "resourceCode": "treeCode",
            "resourceType": "TREE",
            "treeAuthorize": {
              "authList": [
                {
                  "nodePath": "/treeChildrenCode/treeChildrenCode1",
                  "nodeActions": ["read", "get"],
                  "nodeName": "treeChildrenName1",
                  "nodeValue": "treeChildrenValue1",
                  "nodeExtendFieldValue": {
                    "str": "str_value"
                  }
                },
                {
                  "nodePath": "/treeChildrenCode/treeChildrenCode2",
                  "nodeActions": ["read", "get"],
                  "nodeName": "treeChildrenName2",
                  "nodeValue": "treeChildrenValue2"
                },
                {
                  "nodePath": "/treeChildrenCode/treeChildrenCode3",
                  "nodeActions": ["read"],
                  "nodeName": "treeChildrenName3",
                  "nodeValue": "treeChildrenValue3"
                }
              ]
            }
          }
        ]
      }
    ]
  }
}

¶ Example of querying multiple user permission lists

  • Entry
{
  "userIds": ["6301ceaxxxxxxxxxxx27478", "6121ceaxxxxxxxxxxx27312"]
}
  • Parameters
{
  "statusCode": 200,
  "message": "Operation successful",
  "apiCode": 20001,
  "data": {
    "userPermissionList": [
      {
        "userId": "6301ceaxxxxxxxxxxx27478",
        "namespaceCode": "examplePermissionNamespace1",
        "resourceList": [
          {
            "resourceCode": "strCode",
            "resourceType": "STRING",
            "strAuthorize": {
              "value": "Example string resource",
              "actions": ["read", "post", "get", "write"]
            }
          }
        ]
      },
      {
        "userId": "6121ceaxxxxxxxxxxx27312",
        "namespaceCode": "examplePermissionNamespace2",
        "resourceList": [
          {
            "resourceCode": "arrayCode",
            "resourceType": "ARRAY",
            "arrAuthorize": {
              "values": [
                "Example array resource 1",
                "Example array resource 2"
              ],
              "actions": ["read", "post", "get", "write"]
            }
          }
        ]
      }
    ]
  }
}

¶ Example of querying the permission list of multiple users in multiple permission spaces

  • Entry
{
  "userIds": ["6301ceaxxxxxxxxxxx27478", "6121ceaxxxxxxxxxxx27312"],
  "namespaceCodes": [
    "examplePermissionNamespace1",
    "examplePermissionNamespace2"
  ]
}
  • Parameters
{
  "statusCode": 200,
  "message": "Operation successful",
  "apiCode": 20001,
  "data": {
    "userPermissionList": [
      {
        "userId": "6301ceaxxxxxxxxxxx27478",
        "namespaceCode": "examplePermissionNamespace1",
        "resourceList": [
          {
            "resourceCode": "strCode1",
            "resourceType": "STRING",
            "strAuthorize": {
              "value": "Example string resource",
              "actions": ["read", "post", "get", "write"]
            }
          }
        ]
      },
      {
        "userId": "6121ceaxxxxxxxxxxx27312",
        "namespaceCode": "examplePermissionNamespace2",
        "resourceList": [
          {
            "resourceCode": "arrayCode",
            "resourceType": "ARRAY",
            "arrAuthorize": {
              "values": [
                "Example array resource 1",
                "Example array resource 2"
              ],
              "actions": ["read", "post", "get", "write"]
            }
          }
        ]
      }
    ]
  }
}

¶ Method Name

ManagementClient.getUserPermissionList

¶ Request Parameters

NameType
Is it required
Default Value
Description
Example Value
userIdsstring[]yes-User id list["6301ceaxxxxxxxxxxx27478"]
namespaceCodesstring[]no-Permission Space Code List["examplePermissionNamespace1"]

¶ Sample Code

package test.management;

import cn.authing.sdk.java.client.ManagementClient;
import cn.authing.sdk.java.dto.GetUserPermissionListDto;
import cn.authing.sdk.java.dto.GetUserPermissionListRespDto;
import cn.authing.sdk.java.model.ManagementClientOptions;
import cn.authing.sdk.java.util.JsonUtils;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;


public class GetUserPermissionListTest {

    // Need to be replaced with your GenAuth Access Key ID
    private static final String ACCESS_KEY_ID = "AUTHING_ACCESS_KEY_ID";
    // Need to be replaced with your GenAuth Access Key Secret
    private static final String ACCESS_KEY_SECRET = "AUTHING_ACCESS_KEY_SECRET";

    public static void main(String[] args) throws Throwable {
        ManagementClientOptions clientOptions = new ManagementClientOptions();
        clientOptions.setAccessKeyId(ACCESS_KEY_ID);
        clientOptions.setAccessKeySecret(ACCESS_KEY_SECRET);
        // If you are a private deployment customer, you need to set the GenAuth service domain name
        // clientOptions.setHost("https://api.your-authing-service.com");
        ManagementClient client = new ManagementClient(clientOptions);

        GetUserPermissionListDto request = new GetUserPermissionListDto();
        List<String> userIds = new ArrayList<>();
        userIds.add("6301ceaxxxxxxxxxxx27478");
        userIds.add("6121ceaxxxxxxxxxxx27312");
        request.setUserIds(userIds);
        List<String> namespaceCodes = new ArrayList<>();
        namespaceCodes.add("examplePermissionNamespace1");
        namespaceCodes.add("examplePermissionNamespace2");
        request.setNamespaceCodes(namespaceCodes);

        GetUserPermissionListRespDto response = client.getUserPermissionList(request);
        System.out.println(JsonUtils.serialize(response));
    }

}

¶ Request Response

Type: GetUserPermissionListRespDto

NameTypeDescription
statusCodenumberBusiness status code. You can use this status code to determine whether the operation is successful. 200 means success.
messagestringDescription
apiCodenumberSegment error code, through which the specific error type can be obtained (not returned for successful requests). For a detailed list of error codes, see:API Code List (opens new window)
dataGetUserPermissionListDataDtoResponse data

Example Results:

{
  "statusCode": 200,
  "message": "Operation successful",
  "apiCode": 20001,
  "data": {
    "userPermissionList": {
      "userId": "6301cexxxxxxxxxxxxxxxxx78",
      "namespaceCode": "examplePermissionNamespace",
      "resourceList": {
        "resourceCode": "resourceCode",
        "resourceType": "STRING",
        "strAuthorize": {
          "value": "Example string resource Value",
          "actions": "[\"read\",\"get\"]"
        },
        "arrAuthorize": {
          "values": "[\"value0\",\"value1\"]",
          "actions": "[\"read\",\"get\"]"
        },
        "treeAuthorize": {
          "authList": {
            "nodePath": "/treeCode1/treeCode11",
            "nodeName": "Example Tree Resource Node Name",
            "nodeActions": "[\"read\",\"get\"]",
            "nodeValue": "Example Tree Resource Node Value"
          }
        }
      }
    }
  }
}

¶ Data Structure

¶ GetUserPermissionListDataDto

NameType
Is it required
Description
Example Value
userPermissionListarrayyesUser permission list Nested Type: UserPermissionListDto.

¶ UserPermissionListDto

NameType
Is it required
Description
Example Value
userIdstringyesUser ID authorized by data policy6301cexxxxxxxxxxxxxxxxx78
namespaceCodestringyesPermission space Code authorized by data policyexamplePermissionNamespace
resourceListarrayNoList of all data policy resources of the user under the permission space Nested Type: OpenResource.

¶ OpenResource

NameType
Is it required
Description
Example Value
resourceCodestringyesData resource Code authorized under data policyresourceCode
resourceTypestringyesData resource type authorized under data policy. Currently, it supports three types: tree structure (TREE), string (STRING), and array (ARRAY). Different structures are returned according to different types.
- STRING: string type result StrAuthorize
- ARRAY: array type ArrayAuthorize
- TREE: tree type TreeAuthorize
TREE
strAuthorizeNoString resource of data policy Nested Type: StrAuthorize.
arrAuthorizeNoArray resource of data policy Nested Type: ArrayAuthorize.
treeAuthorizeNoTree resource of data policy Nested Type:TreeAuthorize。

¶ StrAuthorize

NameType
Is it required
Description
Example Value
valuestringyesString resource ValueExample string resource Value
actionsarrayyesString resource operation list["read","get"]

¶ ArrayAuthorize

NameType
Is it required
Description
Example Value
values ​​arrayyesArray resource Value list["value0","value1"]
actionsarrayyesArray resource operation list["read","get"]

¶ TreeAuthorize

NameType
Is it required
Description
Example Value
authListarrayyesTree resource authorization list Nested Type: TreeAuthBo.

¶ TreeAuthBo

NameType
Is it required
Description
Example Value
nodePathstringyesTree resource node path/treeCode1/treeCode11
nodeNamestringyesTree resource node NameExample tree resource node Name
nodeActionsarrayyesTree resource node operation permission list["read","get"]
nodeValuestringNoTree resource node ValueExample tree resource node Value
nodeExtendFieldValuemapNoExtended field value{"str":"str_value"}
Previous article: Revoke Data Policy Next article: Judge user permissions
  • Description
  • Note
  • Scenario Example
  • Request Example
  • Method Name
  • Request Parameters
  • Sample Code
  • Request Response
  • Data Structure

User identity management

Integrated third-party login
Customized authentication process

Enterprise internal management

Single sign-on
Multi-factor authentication
Permission management

Developer

Development Documentation
GitHub (opens new window)

Company

official@genauth.ai
16th Floor, Building B, Beichen Century Center, Chaoyang District, Beijing (Total)
Room 406, 4th Floor, Block B, No. 200, Tianfu Fifth Street, High-tech Zone, Chengdu (Branch)

© Beijing Steamory Technology Co., Ltd.