X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/297ff849b93e5a75074e321fe65500f0e091601c..43a88daa5fc23fb70c22ab4472dd293e04b7236d:/doc/plugins/httpauth.mdwn diff --git a/doc/plugins/httpauth.mdwn b/doc/plugins/httpauth.mdwn index fbf366291..b2f789b8e 100644 --- a/doc/plugins/httpauth.mdwn +++ b/doc/plugins/httpauth.mdwn @@ -2,8 +2,45 @@ [[!tag type/auth]] This plugin allows HTTP basic authentication to be used to log into the -wiki. To use the plugin, your web server should be set up to perform HTTP -basic authentiation. The authenticated user will be automatically signed -into the wiki. +wiki. In this mode, the web browser authenticates the user by some means, +and sets the `REMOTE_USER CGI` environment variable. This plugin trusts +that if that variable is set, the user is authenticated. -This plugin is included in ikiwiki, but is not enabled by default. +## fully authenticated wiki + +One way to use the plugin is to configure your web server to require +HTTP basic authentication for any access to the directory containing the +wiki (and `ikiwiki.cgi`). The authenticated user will be automatically +signed into the wiki. This method is suitable only for private wikis. + +## separate cgiauthurl + +To use httpauth for a wiki where the content is public, and where +the `ikiwiki.cgi` needs to be usable without authentication (for searching, +or logging in using other methods, and so on), you can configure a separate +url that is used for authentication, via the `cgiauthurl` option in the setup +file. This url will then be redirected to when a user chooses to log in using +httpauth. + +A typical setup is to make an `auth` subdirectory, and symlink `ikiwiki.cgi` +into it. Then configure the web server to require authentication only for +access to the `auth` subdirectory. Then `cgiauthurl` is pointed at this +symlink. + +## using only httpauth for some pages + +If you want to only use httpauth for editing some pages, while allowing +other authentication methods to be used for other pages, you can +configure `httpauth_pagespec` in the setup file. This makes Edit +links on pages that match the [[ikiwiki/PageSpec]] automatically use +the `cgiauthurl`, and prevents matching pages from being edited by +users authentication via other methods. + +## Using httpauth with nginx + +You have to pass the $remote_user variable to the CGI: + + location /ikiwiki.cgi { + fastcgi_param REMOTE_USER $remote_user if_not_empty; + .... + }