Updated on 2024-12-02 GMT+08:00

Query the Custom Authenticator List

Function

This API is used by an application to query the custom authenticator list on the IoT platform.

Debugging

You can debug this API through automatic authentication in API Explorer or use the SDK sample code generated by API Explorer.

URI

GET /v5/iot/{project_id}/device-authorizers

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Parameter description: project ID. For details, see Obtaining a Project ID.

Table 2 Query Parameters

Parameter

Mandatory

Type

Description

authorizer_name

No

String

Parameter description: name of a custom authenticator, which must be unique under a tenant.

Value: The value can contain a maximum of 128 characters. Only letters, digits, underscores (_), and hyphens (-) are allowed.

limit

No

Integer

Parameter description: number of records to display on each page.

Value: The value is an integer ranging from 1 to 50. The default value is 10.

marker

No

String

Parameter description: ID of the last record in the previous query. The value is returned by the platform during the previous query. Records are queried in descending order of record IDs (the marker value). A newer record will have a larger ID. If marker is specified, only the records whose IDs are smaller than marker are queried. If marker is not specified, the query starts from the record with the largest ID, that is, the latest record. If all data needs to be queried in sequence, this parameter must be filled with the value of marker returned in the last query response each time.

Value: a string of 24 hexadecimal characters. The default value is ffffffffffffffffffffffff.

offset

No

Integer

Parameter description: If offset is set to N, the query starts from the N+1 record after the last record in the previous query. The value is an integer ranging from 0 to 500. The default value is 0. If offset is set to 0, the output starts from the first record after the last record in the previous query. To ensure API performance, you can use this parameter together with marker to turn pages. For example, if there are 50 records on each page, you can directly specify offset to jump to the specified page within page 1 and 11. If you want to view records displayed on pages 12 to 22, you need to use the marker value returned on page 11 as the marker value for the next query.

Value: The value is an integer ranging from 0 to 500. The default value is 0.

Request Parameters

Table 3 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

No

String

Parameter description: user token. You can obtain the token by calling the IAM API Obtaining a User Token Through Password Authentication. In the returned response header, X-Subject-Token is the desired user token. For details about how to obtain the token, see Token Authentication.

Instance-Id

No

String

Parameter description: instance ID. Unique identifier of each instance in the physical multi-tenant scenario. Mandatory for professional editions and recommended in other cases. Log in to the IoTDA console and choose Overview in the navigation pane to view the instance ID. For details, see Viewing Instance Details.

Response Parameters

Status code: 200

Table 4 Response body parameters

Parameter

Type

Description

authorizers

Array of DeviceAuthorizerSimple objects

Parameter description: custom authenticator list.

page

Page object

Pagination information of the query results.

Table 5 DeviceAuthorizerSimple

Parameter

Type

Description

authorizer_id

String

Parameter description: custom authenticator ID.

authorizer_name

String

Parameter description: name of a custom authenticator, which must be unique under a tenant.

Value: The value can contain a maximum of 128 characters. Only letters, digits, underscores (_), and hyphens (-) are allowed.

func_name

String

Parameter description: name of the function corresponding to the custom authenticator.

func_urn

String

Parameter description: function uniform resource name (URN), which uniquely identifies the function. It is the address of the processing function corresponding to the custom authenticator.

signing_enable

Boolean

Parameter description: whether to enable signature authentication. After signature authentication is enabled, authentication information that does not meet signature requirements will be rejected to reduce invalid function calls. You are advised to perform signature authentication for security, which is enabled by default.

default_authorizer

Boolean

Parameter description: whether the current custom authenticator is the default one. The default value is false. If this parameter is set totrue, the current authenticator policy is used for authentication on all devices that support SNI unless otherwise specified.

status

String

Parameter description: whether to enable the authentication mode.

  • ACTIVE: The authentication is enabled.

  • INACTIVE: The authentication is disabled.

cache_enable

Boolean

Parameter description: whether to enable the cache function. The default value is false. If this parameter is set to true and the device input parameters (username, client ID, password, certificate information, and function URN) remain unchanged, the cache result is directly used when the cache result exists. You are advised to set this parameter to false during debugging, set this parameter to true during production to avoid frequent function invoking.

create_time

String

Time when the custom authenticator is queried on the IoT platform. The value is in the format of yyyyMMdd'T'HHmmss'Z', for example, 20151212T121212Z.

update_time

String

Time when the custom authenticator is updated and queried on the IoT platform. The value is in the format of yyyyMMdd'T'HHmmss'Z', for example, 20151212T121212Z.

Table 6 Page

Parameter

Type

Description

count

Long

Total number of records that meet the filter criteria.

marker

String

ID of the last record in this query, which can be used in the next query.

Example Requests

Queries the custom authenticator list of a tenant.

GET https://{endpoint}/v5/iot/{project_id}/device-authorizers

Example Responses

Status code: 200

OK

{
  "authorizers" : [ {
    "authorizer_id" : "5c90fa7d3c4e4405e8525079",
    "authorizer_name" : "myTest",
    "func_name" : "mqtt_auth",
    "func_urn" : "urn:fss:cn-north-5:d92d9c5eb8e347b5bb31ecfe5bc0c4e1:function:default:mqtt_auth:lates",
    "signing_enable" : true,
    "default_authorizer" : false,
    "status" : "ACTIVE",
    "cache_enable" : false,
    "create_time" : "20231031T070547Z",
    "update_time" : "20231031T070547Z"
  } ],
  "page" : {
    "count" : 1,
    "marker" : "5c90fa7d3c4e4405e8525079"
  }
}

Status Codes

Status Code

Description

200

OK

Error Codes

See Error Codes.