website/integrations: Mastodon integration (#4733)
* init mastodon integration Signed-off-by: Tealk <tealk@rollenspiel.monster> * replace inventory placeholder Signed-off-by: Tealk <tealk@rollenspiel.monster> * Replace placeholder Signed-off-by: Tealk <tealk@rollenspiel.monster> * replace username with sub Signed-off-by: Tealk <tealk@rollenspiel.monster> * text improvement Signed-off-by: Tealk <tealk@rollenspiel.monster> --------- Signed-off-by: Tealk <tealk@rollenspiel.monster>
This commit is contained in:
parent
7d9eef37ed
commit
383b6a38ba
61
website/integrations/services/mastodon/index.md
Normal file
61
website/integrations/services/mastodon/index.md
Normal file
|
@ -0,0 +1,61 @@
|
|||
---
|
||||
title: Mastodon
|
||||
---
|
||||
|
||||
<span class="badge badge--secondary">Support level: Community</span>
|
||||
|
||||
## What is Mastodon
|
||||
|
||||
From https://joinmastodon.org/
|
||||
:::note
|
||||
Mastodon is free and open-source software for running self-hosted social networking services. It has microblogging features similar to Twitter
|
||||
:::
|
||||
|
||||
## Preparation
|
||||
|
||||
The following placeholders will be used:
|
||||
|
||||
- `mastodon.company` is the FQDN of the mastodon install.
|
||||
- `authentik.company` is the FQDN of the authentik install.
|
||||
|
||||
## authentik Configuration
|
||||
|
||||
### Step 1 - OAuth2/OpenID Provider
|
||||
|
||||
Create a OAuth2/OpenID Provider (under _Applications/Providers_) with these settings:
|
||||
|
||||
- Name : mastodon
|
||||
- Redirect URI: `https://mastodon.company/auth/auth/openid_connect/callback`
|
||||
|
||||
### Step 3 - Application
|
||||
|
||||
Create an application (under _Resources/Applications_) with these settings:
|
||||
|
||||
- Name: Mastodon
|
||||
- Slug: mastodon
|
||||
- Provider: mastodon
|
||||
|
||||
## Mastodon Setup
|
||||
|
||||
Configure Mastodon `OIDC_` settings by editing the `.env.production` and add the following:
|
||||
|
||||
```
|
||||
OIDC_ENABLED=true
|
||||
OIDC_DISPLAY_NAME=authentik
|
||||
OIDC_DISCOVERY=true
|
||||
OIDC_ISSUER=< OpenID Configuration Issuer>
|
||||
OIDC_AUTH_ENDPOINT=https://authentik.company/application/o/authorize/
|
||||
OIDC_SCOPE=openid,profile,email
|
||||
OIDC_UID_FIELD=sub
|
||||
OIDC_CLIENT_ID=<Client ID>
|
||||
OIDC_CLIENT_SECRET=<Client Secret>
|
||||
OIDC_REDIRECT_URI=https://mastodon.company/auth/auth/openid_connect/callback
|
||||
OIDC_SECURITY_ASSUME_EMAIL_IS_VERIFIED=true
|
||||
```
|
||||
|
||||
Restart mastodon-web.service
|
||||
|
||||
## Additional Resources
|
||||
|
||||
- https://github.com/mastodon/mastodon/pull/16221
|
||||
- https://forum.fedimins.net/t/sso-fuer-verschiedene-dienste/42
|
|
@ -15,6 +15,7 @@ module.exports = {
|
|||
"services/bookstack/index",
|
||||
"services/hedgedoc/index",
|
||||
"services/kimai/index",
|
||||
"services/mastodon/index",
|
||||
"services/matrix-synapse/index",
|
||||
"services/mobilizon/index",
|
||||
"services/nextcloud/index",
|
||||
|
|
Reference in a new issue