1 (edited by michaeld 2008-12-02 15:43)

Topic: [Extension, incomplete] single sign-on / external authentication

Add single sign-on to your forum. This is useful if you have an existing user manager or CRM system.

I have contributed a pair of extensions to accomplish single-signon or external authentication. Earlier in the year, I designed this extension, and  hired a FluxBB developer (connor) to write this code, and I am contributing the code to PunBB. Although the extensions worked perfectly in FluxBB 1.3dev, they fail with the current version of PunBB.

Here is the new wiki page:
http://punbb.informer.com/wiki/punbb13/ … ernal_auth

Briefly, the extension allows the administrator to define a set of PHP code blocks to execute, allowing the $username variable to be set. Your code can also generate the headers and footers, and there are some debugging options. With single sign-on, you probably have existing login/logout/register pages, and the extension allows you to omit those.

I am not expert in the punBB environment, and can not revise the extension myself. But for someone familiar with the changes to the codebase over the last few months, I think updating the extensions is easy. If a PunBB developer chooses to update this extension, I will try to provide any help or comments I can.

Michael Douma  (idea.org)

Re: [Extension, incomplete] single sign-on / external authentication

To follow up, in 1.3dev, several fields are visible in the administration pages. They include:

  • Login URL

  • Register URL

  • Logout URL

  • Code to execute initially -- typically this will load key functions of your CRM

  • Code to execute to generate $username -- e.g., "$username = getYourCRMUserName();"

  • Admin override -- this is for debugging so you don't accidentally log yourself out

  • Remove username -- this is for omitting the username form the profile pages

  • Remove header -- since you may be generating your own

  • Code to execute as header -- e.g., "chdir(path/to/your/code); include (make/your/header.php)

  • Code to execute as footer