Aus Free Software
Zur Navigation springen Zur Suche springen

RestAuth attempts to provide a shared authentication service loosely based on the REST paradigm. Therefore simple HTTP requests can be used to perform the basic CRUD operations on the users known to RestAuth. The prime design goal is to be easy to integrate into services that want to use it, we develop plugins for Apache and MediaWiki ourself (with some more coming soon).

Installation and configuration

RestAuth itself is written in Python and is based on Django. You therefore need python-2.4 or later (python-3 is currently unsupported by Django) and Django 1.2. Please see the installation instructions on how to install Django.

RestAuth can (so far) only be downloaded directly from SVN. To download RestAuth, simply do:

svn co

RestAuth, like any other Django project, can be configured in the file Since this is the file comes directly from SVN, it is advised that copy to and use this file to configure it. The file is documented well, so just skim through the file.

Legal usernames

By default, RestAuth only allows ASCII letters, numbers, and a very limited number of special characters in usernames. This is because usernames must be valid in all systems that use RestAuth. But you can easily extend the range of allowed characters (even to usernames using Unicode characters!) if you know that you will never use some of the supported systems. For further information please read our documentation on usernames.

Note that RestAuth treats all usernames as case insensitive. Therefor, the users "Mati", "MATI", "mAti" and "mati" all are considered the same.

Add services

Since you will never want RestAuth to be available to the outside, services that want to use RestAuth also must authenticate against it. We provide a script to easily manage the credentials of services from the command line. The script is also available from SVN:

svn co

Try the restauth-service script to add services to the database - and don't forget to add valid hosts. See --help and add --help for usage information.

Interface documentation

Please see the Interface documentation.