Skip to content

Get the list of permissions that a user has for certain resources (recommended)

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 this document description is incorrect, please refer to V3 API.

Description

When you need to query the permissions that a user has for a specified list of resources, you can use this interface.

Note

This interface requires you to pass the specified resource code (if it is a tree type resource, you need to pass the full code path of the node). This interface has better performance and is recommended.

Request example

Get user string and array resource permission example

  • Input parameter
json
{
  "namespaceCode": "examplePermissionNamespace",
  "userId": "63721xxxxxxxxxxxxdde14a3",
  "resources": ["strResourceCode1", "arrayResourceCode1"]
}
  • Output parameter
json
{
  "statusCode": 200,
  "message": "Operation successful",
  "apiCode": 20001,
  "data": {
    "permissionList": [
      {
        "namespaceCode": "examplePermissionNamespace",
        "actions": ["read", "get"],
        "resource": "strResourceCode1"
      },
      {
        "namespaceCode": "examplePermissionNamespace",
        "actions": ["read", "update", "delete"],
        "resource": "arrayResourceCode1"
      }
    ]
  }
}

Example of getting user tree resource permissions

  • Input parameters
json
{
  "namespaceCode": "examplePermissionNamespace",
  "userId": "63721xxxxxxxxxxxxdde14a3",
  "resources": [
    "treeResourceCode1/StructCode1/resourceStructChildrenCode1",
    "treeResourceCode2/StructCode1/resourceStructChildrenCode1"
  ]
}
  • Output parameters
json
{
  "statusCode": 200,
  "message": "Operation successful",
  "apiCode": 20001,
  "data": {
    "permissionList": [
      {
        "namespaceCode": "examplePermissionNamespace",
        "actions": ["read", "update", "delete"],
        "resource": "treeResourceCode1/StructCode1/resourceStructChildrenCode1"
      },
      {
        "namespaceCode": "examplePermissionNamespace",
        "actions": ["read", "get", "delete"],
        "resource": "treeResourceCode2/StructCode1/resourceStructChildrenCode1"
      }
    ]
  }
}

Method name

ManagementClient.getUserResourcePermissionList

Request parameters

NameTypeIs it requiredDefault valueDescriptionExample value
resourcesstring[]yes-resource path list, tree resources need to go to specific tree nodes["strResourceCode","arrResourceCode","treeResourceCode/StructCode1/resourceStructChildrenCode1"]
userIdstringyes-user ID6301ceaxxxxxxxxx27478
namespaceCodestringyes-permission space CodeexamplePermissionNamespace

Sample code

ts
import { ManagementClient, Models } from "authing-node-sdk";

// Initialize ManagementClient
const managementClient = new ManagementClient({
  // Need to be replaced with your GenAuth Access Key ID
  accessKeyId: "GEN_AUTH_ACCESS_KEY_ID",
  // Need to be replaced with your GenAuth Access Key Secret
  accessKeySecret: "GEN_AUTH_ACCESS_KEY_SECRET",
  // If it is a private deployment customer, you need to set the GenAuth service domain name
  // host: 'https://api.your-authing-service.com'
});

(async () => {
  const result = await managementClient.getUserResourcePermissionList({
    // Replace user ID
    namespaceCode: "examplePermissionNamespace",
    userId: "63721xxxxxxxxxxxxdde14a3",
    resources: [
      "strResourceCode",
      "arrayResourceCode",
      "/treeResourceCode/structCode/resourceStructChildrenCode",
    ],
  });

  console.log(JSON.stringify(result, null, 2));
})();

Request response

Type: GetUserResourcePermissionListRespDto

NameTypeDescription
statusCodenumberBusiness status code. This status code can be used to determine whether the operation is successful. 200 indicates success.
messagestringdescription
apiCodenumberSegmented error code, which can be used to get the specific error type (not returned for successful requests). For a detailed list of error codes, see: API Code List
requestIdstringRequest ID. Returned when the request fails.
data<a GetUserResourcePermissionListDataDtoResponse data

Sample result:

json
{
  "statusCode": 200,
  "message": "Operation successful",
  "requestId": "934108e5-9fbf-4d24-8da1-c330328abd6c",
  "data": {
    "permissionList": {
      "namespaceCode": "examplePermissionNamespace",
      "actions": "[\"get\",\"read\",\"write\",\"delete\"]",
      "resource": "treeResourceCode1"
    }
  }
}

Data structure

GetUserResourcePermissionListDataDto

NameTypeIs it required?DescriptionSample value
permissionListarrayYesPermission list Nested type: <a GetUserResourcePermissionList.

GetUserResourcePermissionList

NameTypeRequiredDescriptionSample value
namespaceCodestringYesPermission space codeexamplePermissionNamespace
actionsarrayYesData resource permission operation list["get","read","write","delete"]
resourcestringYesResource pathtreeResourceCode1

Agent infrastructure for identity, memory, and web action.