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/writefreely/index.md

2.3 KiB

title
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