DiscourseConnect for MediaWiki

AI-generated summary

The discussion revolves around DiscourseConnect, a MediaWiki extension that allows users to log in with their Discourse account. hawm initially developed the extension but has since archived it due to MediaWiki’s complexity and has stopped maintaining it. Despite the warning about potential security bugs, sila successfully implemented the extension with a few tweaks for MediaWiki version 1.35.0.

Other users, including freosam and sunjam, discussed their own experiences with integrating MediaWiki and Discourse, with freosam mentioning the use of OAuth for authentication.

The discussion concludes with hawm recommending that users fork the archived repository if needed, as they have switched to using Discourse Wiki Posts instead.

:warning: No longer maintained

Original Description

A MediaWiki extension that implemented DiscourseConnect consumer, allows your MediaWiki instance login with Discourse account, and more features are working in progress.

:warning: WARNING: It’s a crude extension that may have bugs that harm the security of your website.

GitHub - hawm/mediawiki-extensions-DiscourseConnect: A MediaWiki extension that implemented DiscourseConnect consumer, allows your MediaWiki instance login with Discourse account, and more features are working in progress. · GitHub

6 Likes

Looks good!

A couple of years ago I had a go at a MediaWiki extension for pulling Discourse info into wiki pages: Extension:Discourse - MediaWiki

3 Likes

@freosam is it working well?

Any specific bugs to be aware of?

I’m afraid I’m not using either extension any more. There was an idea of Wikimedia using Discourse a while ago, which is why I was looking into it all, but that idea has passed now unfortunately.

Gotcha, did you have any success in connecting the two systems with some other authentication method?

Yep, just OAuth, although I’m not sure how much custom work there was to support it (I vaguely remember something about differing OAuth spec versions).

@hawm thank you so much for this plugin!

Everything is working well after few tweaks, at least for 1.35.0:

  1. includes/DiscourseServices.php required <?php instead of <?. Because of this, i got the error while linking users:
    DiscourseConnect/maintenance/manageDiscourseUser.php: Class 'DiscourseConnect\DiscourseServices' not found

  2. i had to replace DB_PRIMARY with DB_MASTER in includes/Service/DiscourseUserService.php to make the plugin working.

I hope this helps someone :slight_smile:

I would love to see more features you’ve planned like replacing the default talk function of MediaWiki and populating other fields like email. Any plans for this?

Thanks again and keep up the good work!

Some regrets, I’m no more working on this extension since the initial version was published cause I realized that the MediaWiki is too complicated for our community members, even to me(as a MediaWiki instance maintainer, extension developer, and editor).

As you can see the git repository has been archived by me it is now read-only, so please feel free to fork it if you still need it(under MIT license if necessary).

P.S. We community-powered Wiki finally switch back to Discourse Wiki Post and try to extend it via the Discourse Plugin/Theme system.

2 Likes