Files
authentik/website/docs/developer-docs/api/websocket.md
dependabot[bot] 3996bdac33 website: Bump prettier from 3.3.3 to 3.4.1 in /website (#12205)
* website: Bump prettier from 3.3.3 to 3.4.1 in /website

Bumps [prettier](https://github.com/prettier/prettier) from 3.3.3 to 3.4.1.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.3.3...3.4.1)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* update formatting

Signed-off-by: Jens Langhammer <jens@goauthentik.io>

* sigh

Signed-off-by: Jens Langhammer <jens@goauthentik.io>

* disable flaky test

Signed-off-by: Jens Langhammer <jens@goauthentik.io>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jens Langhammer <jens@goauthentik.io>
2024-11-27 15:14:19 +01:00

1.5 KiB

title
title
Websocket API

authentik has two different WebSocket endpoints, one is used for web-based clients to get real-time updates, and the other is used for outposts to report their healthiness.

Web /ws/client/

:::info Authentication is done using the session, so make sure to send the Cookie header. :::

All messages have a common field called message_type to discern the type of message.

message type:

This type is used when the backend has a notice to show to the user. A full payload looks like:

{
    "message_type": "message",
    "level": "error" | "warning" | "success" | "info",
    "tags": "",
    "message": "a message",
}

Outpost /ws/outpost/<outpost-uuid>/

:::info Authentication is done via the Authorization header, same as the regular API. You must send a valid token with a Bearer prefix. :::

All messages have two fields, instruction and args. Instruction is any number from this list:

  • 0: ACK, simply acknowledges the previous message
  • 1: HELLO, used for monitoring and regularly sent by outposts
  • 2: TRIGGER_UPDATE, sent by authentik to trigger a reload of the configuration

Arguments for these messages vary, all though these common args are always sent:

  • args['uuid']: A unique UUID generated on startup of an outpost, used to uniquely identify it.

These fields are only sent for HELLO instructions:

  • args['version']: Version of the outpost
  • args['buildHash']: Build hash of the outpost, when available