Table of Contents
AuthDiscourse Plugin
Compatible with DokuWiki
Greebo
This extension has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues.
Authenticates users with a Discourse SSO provider. This might also be useful if you don't run Discourse at all, because the protocol is very simple and thus easy to implement.
The plugins passes Discourse groups to DokuWiki. The admin flag is mapped to the “admin” group, and likewise the moderator flag to a “moderator” group.
Installation
External requirements: This plugin requires the following additional components that must be installed separately:
- A Discourse-compatible SSO provider (see documentation). Discourse itself can also act as an SSO provider.
Install the plugin using the Plugin Manager and the download URL above, which points to latest version of the plugin. Refer to Plugins on how to install plugins manually.
Two configuration keys are required. For example, if you have a Discourse instance at https://discourse.example.com and a DokuWiki instance at dokuwiki.example.com, follow these steps:
- Enable the SSO provider in the Discourse settings (settings key “enable sso provider”)
- Generate a shared secret (e.g.,
head -c18 /dev/urandom | base64
) and add your site to the “sso provider secrets” (fill in dokuwiki.example.com / <your shared secret>) - Add the following to your DokuWiki configuration, or fill in with the configuration editor:
$conf['authtype'] = 'authdiscourse'; $conf['plugin']['authdiscourse']['sso_url'] = 'https://discourse.example.com/session/sso_provider'; $conf['plugin']['authdiscourse']['sso_secret'] = '<your shared secret>';
Development
Change Log
- Make setcookie call compatible with PHP < 7.3 (2019-05-23 16:02)
- Change return URL to https (2019-05-23 15:23)
- Set name / username as DokuWiki expects it (2019-05-23 15:05)
- Initial commit (2019-05-23 14:49)
Report Bugs and Issues
Please report bugs on GitHub.
Discussion
This is an excellent plugin, thank you! The only flaw for me is that the login period times out too quickly, seemingly in about an hour. Is there a way to adjust this?