Skip to content

Latest commit

 

History

History
260 lines (182 loc) · 13.7 KB

File metadata and controls

260 lines (182 loc) · 13.7 KB

M2m

Overview

Available Operations

createToken

Creates a new M2M Token. Must be authenticated via a Machine Secret Key.

Example Usage

package hello.world;

import com.clerk.backend_api.Clerk;
import com.clerk.backend_api.models.errors.CreateM2MTokenM2mResponseBody;
import com.clerk.backend_api.models.errors.CreateM2MTokenResponseBody;
import com.clerk.backend_api.models.operations.CreateM2MTokenRequestBody;
import com.clerk.backend_api.models.operations.CreateM2MTokenResponse;
import java.lang.Exception;

public class Application {

    public static void main(String[] args) throws CreateM2MTokenResponseBody, CreateM2MTokenM2mResponseBody, Exception {

        Clerk sdk = Clerk.builder()
                .bearerAuth(System.getenv().getOrDefault("BEARER_AUTH", ""))
            .build();

        CreateM2MTokenRequestBody req = CreateM2MTokenRequestBody.builder()
                .minRemainingTtlSeconds(240L)
                .build();

        CreateM2MTokenResponse res = sdk.m2m().createToken()
                .request(req)
                .call();

        if (res.object().isPresent()) {
            System.out.println(res.object().get());
        }
    }
}

Parameters

Parameter Type Required Description
request CreateM2MTokenRequestBody ✔️ The request object to use for the request.

Response

CreateM2MTokenResponse

Errors

Error Type Status Code Content Type
models/errors/CreateM2MTokenResponseBody 400 application/json
models/errors/CreateM2MTokenM2mResponseBody 409 application/json
models/errors/SDKError 4XX, 5XX */*

listTokens

Fetches M2M tokens for a specific machine.

Only tokens created with the opaque token format are returned by this endpoint. JWT-format M2M tokens are stateless and are not stored.

This endpoint can be authenticated by either a Machine Secret Key or by a Clerk Secret Key.

  • When fetching M2M tokens with a Machine Secret Key, only tokens associated with the authenticated machine can be retrieved.
  • When fetching M2M tokens with a Clerk Secret Key, tokens for any machine in the instance can be retrieved.

Example Usage

package hello.world;

import com.clerk.backend_api.Clerk;
import com.clerk.backend_api.models.errors.*;
import com.clerk.backend_api.models.operations.GetM2MTokensRequest;
import com.clerk.backend_api.models.operations.GetM2MTokensResponse;
import java.lang.Exception;

public class Application {

    public static void main(String[] args) throws GetM2MTokensResponseBody, GetM2MTokensM2mResponseBody, GetM2MTokensM2mResponseResponseBody, Exception {

        Clerk sdk = Clerk.builder()
                .bearerAuth(System.getenv().getOrDefault("BEARER_AUTH", ""))
            .build();

        GetM2MTokensRequest req = GetM2MTokensRequest.builder()
                .subject("<value>")
                .build();

        GetM2MTokensResponse res = sdk.m2m().listTokens()
                .request(req)
                .call();

        if (res.object().isPresent()) {
            System.out.println(res.object().get());
        }
    }
}

Parameters

Parameter Type Required Description
request GetM2MTokensRequest ✔️ The request object to use for the request.

Response

GetM2MTokensResponse

Errors

Error Type Status Code Content Type
models/errors/GetM2MTokensResponseBody 400 application/json
models/errors/GetM2MTokensM2mResponseBody 403 application/json
models/errors/GetM2MTokensM2mResponseResponseBody 404 application/json
models/errors/SDKError 4XX, 5XX */*

revokeToken

Revokes a M2M Token.

This endpoint only revokes stored opaque-format M2M tokens. JWT-format M2M tokens are stateless and cannot be revoked.

This endpoint can be authenticated by either a Machine Secret Key or by a Clerk Secret Key.

  • When revoking a M2M Token with a Machine Secret Key, the token must managed by the Machine associated with the Machine Secret Key.
  • When revoking a M2M Token with a Clerk Secret Key, any token on the Instance can be revoked.

Example Usage

package hello.world;

import com.clerk.backend_api.Clerk;
import com.clerk.backend_api.models.errors.RevokeM2MTokenM2mResponseBody;
import com.clerk.backend_api.models.errors.RevokeM2MTokenResponseBody;
import com.clerk.backend_api.models.operations.RevokeM2MTokenRequestBody;
import com.clerk.backend_api.models.operations.RevokeM2MTokenResponse;
import java.lang.Exception;

public class Application {

    public static void main(String[] args) throws RevokeM2MTokenResponseBody, RevokeM2MTokenM2mResponseBody, Exception {

        Clerk sdk = Clerk.builder()
                .bearerAuth(System.getenv().getOrDefault("BEARER_AUTH", ""))
            .build();

        RevokeM2MTokenResponse res = sdk.m2m().revokeToken()
                .m2mTokenId("<id>")
                .requestBody(RevokeM2MTokenRequestBody.builder()
                    .build())
                .call();

        if (res.object().isPresent()) {
            System.out.println(res.object().get());
        }
    }
}

Parameters

Parameter Type Required Description
m2mTokenId String ✔️ N/A
requestBody RevokeM2MTokenRequestBody ✔️ N/A

Response

RevokeM2MTokenResponse

Errors

Error Type Status Code Content Type
models/errors/RevokeM2MTokenResponseBody 400 application/json
models/errors/RevokeM2MTokenM2mResponseBody 404 application/json
models/errors/SDKError 4XX, 5XX */*

verifyToken

Verifies a M2M Token.

This endpoint can be authenticated by either a Machine Secret Key or by a Clerk Secret Key.

  • When verifying a M2M Token with a Machine Secret Key, the token must be granted access to the Machine associated with the Machine Secret Key.
  • When verifying a M2M Token with a Clerk Secret Key, any token on the Instance can be verified.

Example Usage

package hello.world;

import com.clerk.backend_api.Clerk;
import com.clerk.backend_api.models.errors.VerifyM2MTokenM2mResponseBody;
import com.clerk.backend_api.models.errors.VerifyM2MTokenResponseBody;
import com.clerk.backend_api.models.operations.VerifyM2MTokenRequestBody;
import com.clerk.backend_api.models.operations.VerifyM2MTokenResponse;
import java.lang.Exception;

public class Application {

    public static void main(String[] args) throws VerifyM2MTokenResponseBody, VerifyM2MTokenM2mResponseBody, Exception {

        Clerk sdk = Clerk.builder()
                .bearerAuth(System.getenv().getOrDefault("BEARER_AUTH", ""))
            .build();

        VerifyM2MTokenRequestBody req = VerifyM2MTokenRequestBody.builder()
                .token("<value>")
                .build();

        VerifyM2MTokenResponse res = sdk.m2m().verifyToken()
                .request(req)
                .call();

        if (res.object().isPresent()) {
            System.out.println(res.object().get());
        }
    }
}

Parameters

Parameter Type Required Description
request VerifyM2MTokenRequestBody ✔️ The request object to use for the request.

Response

VerifyM2MTokenResponse

Errors

Error Type Status Code Content Type
models/errors/VerifyM2MTokenResponseBody 400 application/json
models/errors/VerifyM2MTokenM2mResponseBody 404 application/json
models/errors/SDKError 4XX, 5XX */*