website/integrations: Writefreely instructions (#4787)

* Add writefreely

Signed-off-by: Tealk <tealk@rollenspiel.monster>

* fix lint

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

---------

Signed-off-by: Tealk <tealk@rollenspiel.monster>
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
Co-authored-by: Jens Langhammer <jens@goauthentik.io>
This commit is contained in:
Tealk 2023-03-18 19:32:07 +01:00 committed by GitHub
parent e35c3d19bc
commit 63e3f6545b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 94 additions and 0 deletions

View file

@ -0,0 +1,93 @@
---
title: Writefreely
---
<span class="badge badge--secondary">Support level: Community</span>
## What is Writefreely
From https://writefreely.org/
:::note
An open source platform for building a writing space on the web.
:::
:::caution
Currently it is not possible to connect writefreely to authentik without making an adjustment in the database. See [here](https://github.com/writefreely/writefreely/issues/516) and [Writefreely Setup](https://goauthentik.io/integrations/services/writefreely/#writefreely-setup)
:::
## Preparation
The following placeholders will be used:
- `writefreely.company` is the FQDN of the writefreely 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 : writefreely
- Redirect URI: `https://writefreely.company/oauth/callback/generic`
### Step 3 - Application
Create an application (under _Resources/Applications_) with these settings:
- Name: Writefreely
- Slug: writefreely
- Provider: writefreely
## Writefreely Setup
### Database
Currently the column `access_token` is configured too small, so it needs to be adjusted
```
ALTER TABLE `oauth_users` MODIFY `access_token` varchar(2048);
```
### Configuration
Configure Writefreely settings by editing the `config.ini` and add the following:
So that new users can be created the following variable must be set to true
```
open_registration = false
```
To disable the local login/registration use the following setting (this is useful because writefreely attracts a lot of spam)
```
disable_password_auth = false
```
The following settings must be made for oauth
```
[oauth.generic]
client_id = <Client ID>
client_secret = <Client Secret>
host = https://authentik.company
display_name = authentik
callback_proxy =
callback_proxy_api =
token_endpoint = /application/o/token/
inspect_endpoint = /application/o/userinfo/
auth_endpoint = /application/o/authorize/
scope = openid profile email
allow_disconnect = false
map_user_id = sub
map_username = nickname
map_display_name = name
map_email = email
```
Restart writefreely.service
## Additional Resources
- https://writefreely.org/docs/latest/admin/config

View file

@ -26,6 +26,7 @@ module.exports = {
"services/vikunja/index",
"services/wekan/index",
"services/wiki-js/index",
"services/writefreely/index",
"services/zulip/index",
],
},