Skip to main content

Writefreely

Support level: Community

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 and 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