wiki:ScriptAuthPlugin

Script authentication for AccountManagerPlugin

Description

Similar to normal HTTP Authentication, this plugin uses explicit URL parameters for transferring the username and password to a web script that implements the check and returns the authentication result in the HTTP response code and content. When possible, the user's email address is transferred and set as well.

Bugs/Feature Requests

Existing bugs and feature requests for ScriptAuthPlugin are here.

If you have any issues, create a new ticket.

Download

Download the zipped source from here.

Source

Check out ScriptAuthPlugin from here using Subversion, or browse the source with Trac.

Installation

  • AccountManagerPlugin must be installed.
  • Grab and unpack the source.
  • Change into the source directory that contains the setup.py file.
  • Build an egg:
    python setup.py bdist_egg
    
  • Copy the egg, found in dist/ to the plugins directory of the desired Trac environment.

Configuration

Set the URL of the script that does the authentication by adding the following to your trac.ini file:

[account-manager]
# password_store = ScriptAuthStore    # When using ScriptAuthStore alone.
password_store = HtPasswdStore,ScriptAuthStore
script_auth_url = http://www.example.com/my_auth.php?u=<USERNAME>&p=<PASSWORD>

Note the two placeholders <USERNAME> and <PASSWORD> in the script_auth_url. Type them exactly like this in order to have them automatically replaced by the appropriate user details.

The script at script_auth_url is expected to return ok followed by newline followed by the email address of the user as the HTTP content when the user details are valid, or anything else otherwise.

The HTTP result codes like 200 and 401 can unfortunately not (easily) be utilized with Python <= 2.4.

An example for a script that implements authentication against the phpBB forum database is available here. It is useful when you cannot use the PhpBbAuthPlugin directly, eg because the phpBB database is not accessible from your Trac host.

Recent Changes

7394 by Carsten on 2010-01-13 22:23:40
Added the very important URL encoding for the username and password parameters. The encoding of other parts of the URL is up to the user (option 'script_auth_url').
7388 by Carsten on 2010-01-13 18:33:28
Initial import of files.
7387 by Carsten on 2010-01-13 15:40:12
New hack ScriptAuthPlugin, created by Carsten
(more)

Author/Contributors

Author: Carsten
Maintainer: Carsten
Contributors: http://www.cafu.de

Last modified 9 years ago Last modified on Nov 26, 2015, 10:42:01 AM