website/integrations/documentation/dokuwiki/index.md
DokuWiki is an open source wiki application licensed under GPLv2 and written in the PHP programming language. It works on plain text files and thus does not need a database. Its syntax is similar to the one used by MediaWiki and it is often recommended as a more lightweight, easier to customize alternative to MediaWiki.
The following placeholders are used in this guide:
dokuwiki.company is the FQDN of the DokiWiki installation.authentik.company is the FQDN of the authentik installation.:::info This documentation lists only the settings that you need to change from their default values. Be aware that any changes other than those explicitly mentioned in this guide could cause issues accessing your application. :::
To support the integration of DokuWiki with authentik, you need to create an application/provider pair in authentik.
https://dokuwiki.company/doku.php?id=start&oauthlogin=generic. This will allow you to log in directly to DokuWiki from the authentik applications dashboard and skip the DokuWiki OAuth Login button.Strict redirect URI to https://dokuwiki.company/doku.php.authentik default OAuth Mapping: OpenID 'offline_access'From the Administration interface of your DokuWiki installation, navigate to Extension Manager and install the following extensions:
Then, under the Configuration Settings section, update the oauth and oauthgeneric options:
For oauth: Select plugin»oauth»register-on-auth
:::warning
When using preferred_username as the user identifier, ensure that the Allow users to change username setting is disabled to prevent authentication issues. You can configure DokuWiki to use either the sub or preferred_username as the UID field under plugin»oauthgeneric»json-user. The sub option uses a unique, stable identifier for the user, while preferred_username uses the username configured in authentik.
DokuWiki supports switching between sub and preferred_username as the user identifier at any time, but this change only applies to users logging in for the first time after the switch. For all existing users, their contributions remain linked to the initial identifier type. Past contributions won't be re-associated with the new identifier when switching.
It is strongly recommended to decide on the identifier during initial setup and avoid switching it later. :::
For oauthgeneric:
plugin»oauthgeneric»key to the Client ID from authentikplugin»oauthgeneric»secret to the Client Secret from authentikplugin»oauthgeneric»authurl to https://authentik.company/application/o/authorize/plugin»oauthgeneric»tokenurl to https://authentik.company/application/o/token/plugin»oauthgeneric»userurl to https://authentik.company/application/o/userinfo/plugin»oauthgeneric»authmethod to Bearer Headerplugin»oauthgeneric»scopes to email, openid, profile, offline_accessplugin»oauthgeneric»needs-stateplugin»oauthgeneric»json-user to preferred_usernameplugin»oauthgeneric»json-name to nameplugin»oauthgeneric»json-mail to emailplugin»oauthgeneric»json-grps togroupsOnce that is done, navigate to Administration > Configuration Settings > Authentication and under Authentication backend, enable oauth.
To verify that authentik is correctly configured with DokuWiki, log out and log back in through authentik. You should notice a new button on the login page.