52 lines
1.4 KiB
Markdown
52 lines
1.4 KiB
Markdown
|
---
|
||
|
title: Matrix Synapse
|
||
|
---
|
||
|
|
||
|
## What is Matrix Synapse
|
||
|
|
||
|
From https://matrix.org/
|
||
|
|
||
|
:::note
|
||
|
Matrix is an open source project that publishes the Matrix open standard for secure, decentralised, real-time communication, and its Apache licensed
|
||
|
reference implementations.
|
||
|
:::
|
||
|
|
||
|
## 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`
|
||
|
- JWT Algorithm: `RS256`
|
||
|
- Scopes: OpenID, Email and Profile
|
||
|
- RSA 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
|
||
|
|
||
|
```yaml
|
||
|
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.name }}' }}"
|
||
|
display_name_template: "{{ '{{ user.name|capitalize }}' }}"
|
||
|
```
|