ZITADEL Docs
Integrate & AuthenticateActionsV1

Modules

ZITADEL provides the following modules.

HTTP

This module provides functionality to call REST APIs.

Import

    let http = require('zitadel/http')

fetch() function

This function allows to call HTTP servers. The function does NOT fulfil the Fetch API specification.

Parameters

  • url string
  • options Optional, containing custom settings that you want to apply to the request.
    • headers Overwrites the default headers. One of the following types
      • map[string] string The value is split into separate values after each comma ,.
      • map[string] Array of string The value is a string array
      • default:
        • Content-Type: application/json
        • Accept: application/json
    • method The request method. Allowed values are GET, POST, PUT, DELETE
    • body Object JSON representation

Response

If the request was invalid, an error will be thrown, otherwise a Response object will be returned.

The object has the following fields and methods:

  • status number Status code of response
  • body string Return value
  • json() Object Returns the body as JSON object, or throws an error if the body is not a json object.
  • text() string Returns the body

Example

https://github.com/zitadel/actions/blob/main/examples/make_api_call.js#L10-L20

Log

The log module provides you with the functionality to log to stdout.

Import

   let logger = require("zitadel/log")

log(), warn(), error() function

The logger offers three distinct log levels (info, warn, and error) to effectively communicate messages based on their severity, enhancing debugging and troubleshooting efficiency. Use the function that reflects your log level.

  • log()
  • warn()
  • error()

Example

logger.log("This is an info log.")

logger.warn("This is a warn log.")

logger.error("This is an error log.")

Parameters

  • msg string The message you want to print out.

UUID

This module provides functionality to generate a UUID

Import

    let uuid = require("zitadel/uuid")

uuid.vX() function

This function generates a UUID using google/uuid. vX allows to define the UUID version:

  • uuid.v1() string Generates a UUID version 1, based on date-time and MAC address
  • uuid.v3(namespace, data) string Generates a UUID version 3, based on the provided namespace using MD5
  • uuid.v4() string Generates a UUID version 4, which is randomly generated
  • uuid.v5(namespace, data) string Generates a UUID version 5, based on the provided namespace using SHA1

Parameters

  • namespace UUID/string Namespace to be used in the hashing function. Either provide one of defined namespaces or a string representing a UUID.
  • data []byte/string data to be used in the hashing function. Possible types are []byte or string.

Namespaces

The following predefined namespaces can be used for uuid.v3 and uuid.v5:

  • uuid.namespaceDNS UUID 6ba7b810-9dad-11d1-80b4-00c04fd430c8
  • uuid.namespaceURL UUID 6ba7b811-9dad-11d1-80b4-00c04fd430c8
  • uuid.namespaceOID UUID 6ba7b812-9dad-11d1-80b4-00c04fd430c8
  • uuid.namespaceX500 UUID 6ba7b814-9dad-11d1-80b4-00c04fd430c8

Example

let uuid = require("zitadel/uuid")
function setUUID(ctx, api) {
  if (api.metadata === undefined) {
    return;
  }

  api.v1.user.appendMetadata('custom-id', uuid.v4());
}

Was this page helpful?

On this page