DokuWiki

It's better when it's simple

User Tools

Site Tools


plugin:authmysql:invision

InvisionBoard

Configuration for authMySQL Auth plugin to connect to , which let's do:

  • Only basic authentication
  • No user modification/adding. This should be done in InvisionBoard

If you want to hook-up DokuWiki to authenticate with an InvisionBoard forum (MySQL code is for Version 2 of InvisionBoard and up) (for users) then you can use the following:

Configuration

FIXME is this for old DokuWiki's mysql auth backend? e.g. uses '%u'. Also MD5() via sql, check whether it can be moved to DokuWiki (forwardClearPass = 0.)

Use the Config Manager or add it to the conf/local.protected.php to store the config protected.

conf/local.protected.php
<?php
/**
 * InvisionBoard configuration for MySQL Auth Plugin
 * See https://www.dokuwiki.org/plugin:authmysql:invision for details and explanation
 */
 
// Activate MySQL auth plugin
$conf['authtype'] = "mysql";
 
$conf['plugin']['authmysql']['passcheck']= "SELECT name AS 'login'
                                            FROM ibf_members, ibf_members_converge
                                            WHERE ibf_members.id=ibf_members_converge.converge_id
                                              AND name='%u'
                                              AND converge_pass_hash = MD5(CONCAT(MD5(converge_pass_salt),MD5('%p')))";
$conf['plugin']['authmysql']['userinfo'] = "SELECT name, email AS mail
                                            FROM ibf_members
                                            WHERE name='%u'";
$conf['plugin']['authmysql']['groups']   = "SELECT ibf_groups.g_title as `group`
                                            FROM ibf_members, ibf_groups
                                            WHERE ibf_members.mgroup=ibf_groups.g_id
                                              AND ibf_members.name='%u'";

Remember however, that users can't register via the wiki. So you may want to change the register link to the InvisionBoard registration page.

Configuration New MySQL backend

FIXME Use still MD5() via sql, check whether it can be moved to DokuWiki (forwardClearPass = 0.)

Use the Config Manager or add it to the conf/local.protected.php to store the config protected.

The following queries seems to work with Invision Board 2 and the new MySQL backend. Remember to replace table names with the good prefix (ipb_ or ibf_) :

conf/local.protected.php
<?php
/**
 * InvisionBoard configuration for MySQL Auth Plugin
 * See https://www.dokuwiki.org/plugin:authmysql:invision for details and explanation
 */
 
// Activate MySQL auth plugin
$conf['authtype'] = "mysql";
 
$conf['plugin']['authmysql']['checkPass']= "SELECT name AS 'login'
                                            FROM ipb_members m LEFT JOIN ipb_members_converge c ON c.converge_id=m.id
                                            WHERE name='%{user}'
                                              AND converge_pass_hash = MD5(CONCAT(MD5(converge_pass_salt),MD5('%{pass}')))";
$conf['plugin']['authmysql']['getUserInfo'] = "SELECT name, email AS mail
                                               FROM ipb_members
                                               WHERE name='%{user}'";
$conf['plugin']['authmysql']['getGroups']   = "SELECT mgroup as `group`
                                               FROM ipb_members
                                               WHERE ipb_members.name='%{user}'";
plugin/authmysql/invision.txt · Last modified: 2013-02-10 13:45 by Klap-in