32732094b1eec4349449ee95e8ba752922fce9b9
[ikiwiki.git] / doc / plugins / httpauth.mdwn
1 [[!template id=plugin name=httpauth author="Alec Berryman"]]
2 [[!tag type/auth]]
3
4 This plugin allows HTTP basic authentication to be used to log into the
5 wiki. In this mode, the web browser authenticates the user by some means,
6 and sets the `REMOTE_USER CGI` environment variable. This plugin trusts
7 that if that variable is set, the user is authenticated.
8
9 ## fully authenticated wiki
10
11 One way to use the plugin is to configure your web server to require
12 HTTP basic authentication for any access to the directory containing the
13 wiki (and `ikiwiki.cgi`). The authenticated user will be automatically
14 signed into the wiki. This method is suitable only for private wikis.
15 what if you what not allowd
16
17 ## separate cgiauthurl
18
19 To use httpauth for a wiki where the content is public, and where
20 the `ikiwiki.cgi` needs to be usable without authentication (for searching,
21 or logging in using other methods, and so on), you can configure a separate
22 url that is used for authentication, via the `cgiauthurl` option in the setup
23 file. This url will then be redirected to when a user chooses to log in using
24 httpauth.
25
26 A typical setup is to make an `auth` subdirectory, and symlink `ikiwiki.cgi` 
27 into it. Then configure the web server to require authentication only for
28 access to the `auth` subdirectory. Then `cgiauthurl` is pointed at this
29 symlink.
30
31 ## using only httpauth for some pages
32
33 If you want to only use httpauth for editing some pages, while allowing
34 other authentication methods to be used for other pages, you can
35 configure `httpauth_pagespec` in the setup file. This makes Edit
36 links on pages that match the [[ikiwiki/PageSpec]] automatically use
37 the `cgiauthurl`, and prevents matching pages from being edited by
38 users authentication via other methods.