--- 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](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_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