This repository has been archived on 2024-05-31. You can view files and clone it, but cannot push or open issues or pull requests.
authentik/website/integrations/services/matrix-synapse/index.md
Jens L 1b12c90f32
website/integrations: cite better (#6431)
* update awx-tower to RHAAP

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

* migrate to new quotation

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

* update all

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

---------

Signed-off-by: Jens Langhammer <jens@goauthentik.io>
2023-07-31 12:16:58 +02:00

1.6 KiB

title
Matrix Synapse

Support level: Community

What is Matrix Synapse

Matrix is an open source project that publishes the Matrix open standard for secure, decentralised, real-time communication, and its Apache licensed reference implementations.

-- https://matrix.org/

Preparation

The following placeholders will be used:

  • matrix.company is the FQDN of the Matrix install.
  • authentik.company is the FQDN of the authentik install.

Create an application in authentik. Create an OAuth2/OpenID provider with the following parameters:

  • Client Type: Confidential
  • Scopes: OpenID, Email and Profile
  • Signing Key: Select any available key
  • Redirect URIs: https://matrix.company/_synapse/client/oidc/callback

Note the Client ID and Client Secret values. Create an application, using the provider you've created above. Note the slug of the application you've created.

Matrix

Add the following block to your Matrix config

:::info For more info, see https://matrix-org.github.io/synapse/latest/openid.html?highlight=authentik#authentik :::

oidc_providers:
    - idp_id: authentik
      idp_name: authentik
      discover: true
      issuer: "https://authentik.company/application/o/app-slug/"
      client_id: "*client id*"
      client_secret: "*client secret*"
      scopes:
          - "openid"
          - "profile"
          - "email"
      user_mapping_provider:
          config:
              localpart_template: "{{ user.preferred_username }}"
              display_name_template: "{{ user.name|capitalize }}"