This is an old revision of the document!
Table of Contents
Flarum-Joomla Integration Plugin
Version: 1.3.0
Author: Martin Brampton
License: GNU/GPL
Email: martin@remository.com
URL: https://remository.com
A comprehensive Joomla 5 plugin that provides seamless Single Sign-On (SSO) integration between Joomla and Flarum using JWT-based authentication.
Features
✅ Single Sign-On (SSO) - Automatic login to Flarum when logged into Joomla
✅ Menu-Based Forum Access - Direct forum links with automatic authentication
✅ User Synchronization - Automatic user creation, updates, and deletion
✅ Group Management - Joomla user groups mapped to Flarum groups
✅ JWT Authentication - Secure token-based authentication using lcobucci/jwt
✅ Cross-Domain Support - Works with subdomains (e.g., forum.yoursite.com)
✅ API-First Approach - Uses Flarum API with minimal database access
Requirements
Joomla Requirements
- Joomla 5.x
- PHP 8.2+
- OpenSSL extension
- Sodium extension
Flarum Requirements
- Flarum 1.8+
- maicol07/flarum-ext-sso extension
- lcobucci/clock library (automatically installed)
Quick Start
⚠️ IMPORTANT: Before starting, ensure your Flarum admin user has the same email address as your Joomla admin user. See Flarum Setup Guide for details.
- Install the plugin in Joomla (
plugins/user/flarum/
) - Configure Flarum SSO - See Flarum Setup Guide
- Enable the plugin in Joomla Extensions → Plugins
- Configure settings - Flarum URL, API key, JWT settings
- Create menu link - Use the forum redirect URL in your menu
Menu Link URL
https://yoursite.com/index.php?option=com_ajax&plugin=flarum&group=user&method=forumRedirect&format=raw
Documentation
- Flarum Setup Guide - Complete Flarum installation and configuration
- Usage Examples - Common usage scenarios and API examples
- Development Guide - Development instructions and architecture
Architecture
- Standard Joomla Plugin - Follows Joomla 5 best practices
- JWT Authentication - Secure token-based SSO with maicol07/flarum-ext-sso
- API-First - Minimal database access, prefers Flarum API
- Dependency Injection - Uses Joomla DI container with provider.php
- PSR-4 Autoloading - Namespace: BlackSheepResearch\Plugin\User\Flarum
Support
This plugin integrates with the mature maicol07/flarum-ext-sso extension, providing enterprise-grade Single Sign-On between Joomla and Flarum.
For issues or questions, please check the documentation files or contact the author.