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 the structure list of external user authorization resources

¶ Get the structure list of external user authorized resources

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

This interface is mainly used to obtain the resource list authorized by external users. It obtains the authorization list of external user resources through the permission space Code, external user Id, and resource Code, and returns the authorization of the corresponding resource through different resource types.

¶ Example of obtaining user authorization string data resource

  • Entry
{
  "namespaceCode": "examplePermissionNamespace",
  "externalId": "63721xxxxxxxxxxxxdde14a3",
  "resourceCode": "exampleStrResourceCode"
}
  • Parameters
{
  "statusCode": 200,
  "message": "Operation successful",
  "apiCode": 20001,
  "data": {
    "namespaceCode": "exampleNamespaceCode",
    "resourceCode": "exampleStrResourceCode",
    "resourceType": "STRING",
    "strResourceAuthAction": {
      "value": "strTestValue",
      "actions": ["get", "delete"]
    }
  }
}

¶ Get user authorization data array resource example

  • Entry
{
  "namespaceCode": "examplePermissionNamespace",
  "externalId": "63721xxxxxxxxxxxxdde14a3",
  "resourceCode": "exampleArrResourceCode"
}
  • Parameters
{
  "statusCode": 200,
  "message": "Operation successful",
  "apiCode": 20001,
  "data": {
    "namespaceCode": "exampleNamespaceCode",
    "resourceCode": "exampleArrResourceCode",
    "resourceType": "ARRAY",
    "arrResourceAuthAction": {
      "values": ["arrTestValue1", "arrTestValue2", "arrTestValue3"],
      "actions": ["get", "delete"]
    }
  }
}

¶ Example of obtaining user authorization tree data resources

  • Entry
{
  "namespaceCode": "examplePermissionNamespace",
  "externalId": "63721xxxxxxxxxxxxdde14a3",
  "resourceCode": "exampleArrResourceCode"
}
  • Parameters
{
  "statusCode": 200,
  "message": "Operation successful",
  "apiCode": 20001,
  "data": {
    "namespaceCode": "exampleNamespaceCode",
    "resourceCode": "exampleArrResourceCode",
    "resourceType": "TREE",
    "treeResourceAuthAction": {
      "nodeAuthActionList": [
        {
          "code": "tree11",
          "name": "tree11",
          "value": "test11Value",
          "extendFieldValue": {
            "str": "str_value"
          },
          "actions": ["get", "delete"],
          "children": [
            {
              "code": "tree111",
              "name": "tree111",
              "value": "test111Value",
              "actions": ["update", "read"]
            }
          ]
        },
        {
          "code": "tree22",
          "name": "tree22",
          "value": "test22Value",
          "actions": ["get", "delete"]
        }
      ]
    }
  }
}

¶ Method Name

ManagementClient.getExternalUserResourceStruct

¶ Request Parameters

Type: GetExternalUserResourceStructDto

NameType
Is it required
Default Value
Description
Example Value
namespaceCodestringyes-permission space CodeexamplePermissionNamespace
resourceCodestringyes-resource CodeexampleResourceCode
externalIdstringyes-external user ID63721xxxxxxxxxxxxdde14a3

¶ Sample Code

package test.management.dataPermission.authentication;

import cn.authing.sdk.java.client.ManagementClient;
import cn.authing.sdk.java.dto.CheckPermissionDto;
import cn.authing.sdk.java.dto.CheckPermissionRespDto;
import cn.authing.sdk.java.dto.GetUserResourceStructDto;
import cn.authing.sdk.java.dto.GetUserResourceStructRespDto;
import cn.authing.sdk.java.model.ManagementClientOptions;
import cn.authing.sdk.java.util.JsonUtils;
import java.util.ArrayList;
import java.util.List;

public class GetUserResourceStructTest {
    // 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);

        GetExternalUserResourceStructDto request = new GetExternalUserResourceStructDto();
        request.setNamespaceCode("examplePermissionNamespace");
        request.setExternalId("63721xxxxxxxxxxxxdde14a3");
        request.setResourceCode("exampleStrResourceCode");

        GetExternalUserResourceStructRespDto response = client.getExternalUserResourceStruct(request);
        System.out.println(JsonUtils.serialize(response));
    }
}

¶ Request Response

Type: GetExternalUserResourceStructRespDto

NameTypeDescription
statusCodenumberBusiness status code. You can use this status code to determine whether the operation is successful. 200 means success.
messagestringDescription
apiCodenumberThis error code is used to get the specific error type.
requestIdstringRequest ID. Returned when the request fails.
dataGetUserResourceStructDataDtoResponse data

Example Results:

{
  "statusCode": 200,
  "message": "Operation successful",
  "apiCode": 0,
  "requestId": "934108e5-9fbf-4d24-8da1-c330328abd6c",
  "data": {
    "namespaceCode": "namespaceCode",
    "resourceCode": "resourceCode",
    "resourceType": "STRING",
    "strResourceAuthAction": {
      "value": "resourceCode",
      "actions": ["resourceCode"]
    },
    "arrResourceAuthAction": {
      "values": ["resourceCode"],
      "actions": ["resourceCode"]
    },
    "treeResourceAuthAction": {
      "nodeAuthActionList": [
          {
              "code": "123",
              "name": "Tree data resource",
              "value": "Sample tree resource policy node",
              "extendFieldValue": {
                  "str": "str_value"
              },
              "actions": "read",
              "children": [
                  {
                      "code": "code1",
                      "name": "Child node 1",
                      "value": "Child node value",
                      "actions": [
                          "Create"
                      ],
                      "children": [
                          {
                              "code": "code2",
                              "name": "Child node 2",
                              "value": "Child node 2 value",
                              "actions": [
                                  "get"
                              ]
                          }
                      ]
                  }
              ]
          }
      ]
    }
  }
}

¶ Data Structure

¶ GetExternalUserResourceStructDataDto

NameType
Is it required
Description
Example Value
namespaceCodestringyesPermission space codenamespaceCode
resourceCodestringyesResource coderesourceCode
resourceTypestringyesData resource type, nested type, ResourceType. Currently supports three types: tree structure (TREE), string (STRING), array (ARRAY), and returns different structures according to different types.
- STRING: string type result StrResourceAuthAction.
- ARRAY: array type ArrResourceAuthAction.
- TREE: tree type TreeResourceAuthAction.
strResourceAuthActionStrResourceAuthActionNoString resource authorization structure, nested Type: StrResourceAuthAction.
arrResourceAuthActionArrResourceAuthActionNoArray resource authorization structure, nested Type: ArrResourceAuthAction.
treeResourceAuthActionTreeResourceAuthActionNoTree resource authorization structure, nested Type: TreeResourceAuthAction. Tree resource authorization

¶ ResourceType

NameTypeDescription
STRINGenumString type
ARRAYenumArray type
TREEenumTree type

¶ StrResourceAuthAction

NameType
Is it required
Description
Example Value
valuestringyesValue of string data resourceresourceValue
actionsarrayyesPermission operation list of string data resource["read","get"]

¶ ArrResourceAuthAction

NameType
Is it required
Description
Example Value
values ​​arrayyesValues ​​of array data resources["resourceValue1","resourceValue2"]
actionsarrayyesPermission operation list of array data resources["read","get"]

¶ TreeResourceAuthAction

NameType
Is it required
Description
Example Value
nodeAuthActionListarrayyesTree structure node list, nested Type:TreeStructs。-

¶ TreeStructs

NameType
Is it required
Description
Example Value
codestringyesTree resource node Code, unique in the same level123
namestringyesTree resource node Name, unique in the same levelData resource
valuestringNoTree resource node ValueSample resource policy node
actionsarrayyesList of permission operations for tree data resource policy noderead
childrenTreeStructsNoChild node data, child node data can be up to five levels deep, nested Type: TreeStructs.[{"code":"code1","name":"child node 1","value":"child node value","enabled":false,"action":"create","children":[{"code":"code2","name":"child node 2","value":"child node 2 value","enabled":true,"action":"get"}]}]
extendFieldValuemapNoExtend field value{"str":"str_value"}
Previous article: Get a list of user-authorized resources Next article: Judge the user's permissions under the same level resources of the tree resource
  • 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.