README reworked (#165)

This commit is contained in:
Allan Nordhøy 2020-06-16 15:48:56 +00:00 committed by GitHub
parent 6a14e78617
commit 70c81c6b89
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,7 +1,7 @@
SSOwat SSOwat
====== ======
A simple LDAP SSO for nginx, written in Lua A simple LDAP SSO for NGINX, written in Lua.
<a href="https://translate.yunohost.org/engage/yunohost/?utm_source=widget"> <a href="https://translate.yunohost.org/engage/yunohost/?utm_source=widget">
<img src="https://translate.yunohost.org/widgets/yunohost/-/287x66-white.png" alt="Translation status" /> <img src="https://translate.yunohost.org/widgets/yunohost/-/287x66-white.png" alt="Translation status" />
@ -10,25 +10,25 @@ A simple LDAP SSO for nginx, written in Lua
Issues Issues
------ ------
- [Please report issues on YunoHost bugtracker](https://github.com/YunoHost/issues). - [Please report issues to the YunoHost bugtracker](https://github.com/YunoHost/issues).
Requirements Requirements
------------ ------------
- Nginx-extras from Debian wheezy-backports - `nginx-extras` from Debian wheezy-backports
- lua-json - `lua-json`
- lua-ldap - `lua-ldap`
- lua-filesystem - `lua-filesystem`
- lua-socket - `lua-socket`
- lua-rex-pcre - `lua-rex-pcre`
**OR** **OR**
- Nginx "Openresty" flavored : http://openresty.org/ - "OpenResty" flavored NGINX: https://openresty.org/
- lua-ldap - `lua-ldap`
- lua-filesystem - `lua-filesystem`
- lua-socket - `lua-socket`
- lua-rex-pcre - `lua-rex-pcre`
Installation Installation
------------ ------------
@ -40,10 +40,10 @@ git clone https://github.com/YunoHost/SSOwat /etc/ssowat
``` ```
Nginx configuration NGINX configuration
------------------- -------------------
* Add SSOwat's Nginx configuration (`http{}` scope) * Add SSOwat's NGINX configuration (`http{}` scope)
```bash ```bash
nano /etc/nginx/conf.d/ssowat.conf nano /etc/nginx/conf.d/ssowat.conf
@ -72,11 +72,11 @@ If you use YunoHost, you may want to edit the `/etc/ssowat/conf.json.persistent`
## Available parameters ## Available parameters
These are the SSOwat's configuration parameters. Only `portal_domain` is required, but it is recommended to know the others to fully understand what you can do with SSOwat. Only the `portal_domain` SSOwat configuration parameters is required, but it is recommended to know the others to fully understand what you can do with it.
#### portal_domain #### portal_domain
Domain of the authentication portal. It has to be a domain, IP addresses will not work with SSOwat (**Required**) Domain of the authentication portal. It has to be a domain, IP addresses will not work with SSOwat (**Required**).
#### portal_path #### portal_path
@ -84,92 +84,92 @@ URI of the authentication portal (**default**: `/ssowat/`). This path **must** e
#### portal_port #### portal_port
Web port of the authentication portal (**default**: `443` for `https`, `80` for `http`) Web port of the authentication portal (**default**: `443` for `https`, `80` for `http`).
#### portal_scheme #### portal_scheme
Whether authentication should use secure connection or not (**default**: `https`) Whether authentication should use secure connection or not (**default**: `https`).
#### domains #### domains
List of handled domains (**default**: similar to `portal_domain`) List of handled domains (**default**: similar to `portal_domain`).
#### ldap_host #### ldap_host
LDAP server hostname (**default**: `localhost`) LDAP server hostname (**default**: `localhost`).
#### ldap_group #### ldap_group
LDAP group to search in (**default**: `ou=users,dc=yunohost,dc=org`) LDAP group to search in (**default**: `ou=users,dc=yunohost,dc=org`).
#### ldap_identifier #### ldap_identifier
LDAP user identifier (**default**: `uid`) LDAP user identifier (**default**: `uid`).
#### ldap_attributes #### ldap_attributes
User's attributes to fetch from LDAP (**default**: `["uid", "givenname", "sn", "cn", "homedirectory", "mail", "maildrop"]`) User's attributes to fetch from LDAP (**default**: `["uid", "givenname", "sn", "cn", "homedirectory", "mail", "maildrop"]`).
#### ldap_enforce_crypt #### ldap_enforce_crypt
Let SSOwat re-encrypt weakly-encrypted LDAP passwords into the safer sha-512 (crypt) (**default**: `true`) Let SSOwat re-encrypt weakly-encrypted LDAP passwords into the safer sha-512 (crypt) (**default**: `true`).
#### allow_mail_authentication #### allow_mail_authentication
Whether users can authenticate with their mail address (**default**: `true`) Whether users can authenticate with their mail address (**default**: `true`).
#### login_arg #### login_arg
URI argument to use for cross-domain authentication (**default**: `sso_login`) URI argument to use for cross-domain authentication (**default**: `sso_login`).
#### additional_headers #### additional_headers
Array of additionnal HTTP headers to set once user is authenticated (**default**: `{ "Remote-User": "uid" }`) Array of additionnal HTTP headers to set once user is authenticated (**default**: `{ "Remote-User": "uid" }`).
#### session_timeout #### session_timeout
The session expiracy time limit in seconds, since the last connection (**default**: `86400` / one day) The session expiracy time limit in seconds, since the last connection (**default**: `86400` / one day).
#### session_max_timeout #### session_max_timeout
The session expiracy time limit in seconds (**default**: `604800` / one week) The session expiracy time limit in seconds (**default**: `604800` / one week).
#### protected_urls #### protected_urls
List of priorily protected URLs and/or URIs (**by default, every URL is protected**) List of priorily protected URLs and/or URIs (**by default, every URL is protected**).
#### protected_regex #### protected_regex
List of regular expressions to be matched against URLs **and** URIs to protect them List of regular expressions to be matched against URLs **and** URIs to protect them.
#### skipped_urls #### skipped_urls
List of URLs and/or URIs that will not be affected by SSOwat. This must be a JSON array, and SSOwat automatically adds itself to this array. List of URLs and/or URIs that will not be affected by SSOwat. This must be a JSON array, and SSOwat automatically adds itself to it.
#### skipped_regex #### skipped_regex
List of regular expressions to be matched against URLs **and** URIs to ignore them List of regular expressions to be matched against URLs **and** URIs to ignore them.
#### unprotected_urls #### unprotected_urls
List of URLs and/or URIs that will not be affected by SSOwat **unless user is authenticated** List of URLs and/or URIs that will not be affected by SSOwat **unless a user is authenticated**.
#### unprotected_regex #### unprotected_regex
List of regular expressions to be matched against URLs **and** URIs to ignore them **unless user is authenticated** List of regular expressions to be matched against URLs **and** URIs to ignore them **unless a user is authenticated**.
#### redirected_urls #### redirected_urls
Array of URLs and/or URIs to redirect and their redirect URI/URL (**example**: `{ "/": "example.org/subpath" }`) Array of URLs and/or URIs to redirect and their redirect URI/URL (**example**: `{ "/": "example.org/subpath" }`).
#### redirected_regex #### redirected_regex
Array of regular expressions to be matched against URLS **and** URIs and their redirect URI/URL (**example**: `{ "example.org/megusta$": "example.org/subpath" }`) Array of regular expressions to be matched against URLs **and** URIs and their redirect URI/URL (**example**: `{ "example.org/megusta$": "example.org/subpath" }`).
#### users #### users
2-level array containing usernames and their allowed URLs along with an App name (**example**: `{ "kload": { "kload.fr/myapp/": "My App" } }`) 2-level array containing usernames and their allowed URLs along with an app name (**example**: `{ "kload": { "kload.fr/myapp/": "My App" } }`).
#### default_language #### default_language
Language code used by default in views (**default**: `en`) Language code used by default in views (**default**: `en`).