diff --git a/Readme.md b/Readme.md index bb0ad9bdfd5f0dd70890161baea16f22f92e5f51..c9c3366312574d9d9d44e13e2ad93637233e80ee 100644 --- a/Readme.md +++ b/Readme.md @@ -1,14 +1,24 @@ # AAI Login page +## Description + A login page for Php applications with login from multiple AAI organisations. It offers a set or organisations (Identity providers) that can be filtered. -With it you can let login people with AAI / EDUGAIN on their own university and giv access tou your server. +With it you can let login people with AAI / EDUGAIN on their own university and give access tou your server. 📜 License: GNU GPL 3.0 \ 📄 Source: <https://git-repo.iml.unibe.ch/iml-open-source/login-aai> \ -📗 Docs: <https://os-docs.iml.unibe.ch/login-aai> +📗 Docs: <https://os-docs.iml.unibe.ch/login-aai/> + -⚠️ Work in progress! +## Screenshots +Mode "boxes":  + +Mode "list": + + +Mode "wayf": + diff --git a/docs/20_Features.md b/docs/20_Features.md index 7659ffe0ce4b2c5683627f3f101cd54f82acd895..ce7c667882820d08c62eba73df7ed485a0bcbb29 100644 --- a/docs/20_Features.md +++ b/docs/20_Features.md @@ -6,3 +6,5 @@ * A set of filter buttons by TLD will be generated. It is shown when minimum 2 TLDs were found. * An active shibboleth session will bedetected and hides the list of organisations * Multi language support; English and German language files are part of the project +* Customizable texts for title, before and after IDP selection +* customizable CSS diff --git a/docs/40_Installation.md b/docs/40_Installation.md index 47777e6026e1d30f702b6b727c9adfac1427908e..2d3d6efdb77acd88783d4aae2fb5f81022601b46 100644 --- a/docs/40_Installation.md +++ b/docs/40_Installation.md @@ -4,14 +4,21 @@ #### Git +``` +cd [your-webroot] +git clone https://git-repo.iml.unibe.ch/iml-open-source/login-aai.git login_aai +cd login_aai +``` + #### Manuel steps -* In the webroot create a subfolder "login_aai". -* Extract the files there. +* Download the archive <https://git-repo.iml.unibe.ch/iml-open-source/login-aai/-/archive/main/login-aai-main.zip> (archive formats tar.gz, tar.bz2 and tar are available too). +* In the webroot create a subfolder "login_aai". +* Extract the files of the archive there. -## Bring it up +#### Filestructure -This is the filestructure you get +This is the filestructure you get: ```text . @@ -39,11 +46,20 @@ This is the filestructure you get └── screen_custom.css.dist ``` +## Bring it up + +### Steps + * Copy **config.php.dist** to config.php and make your changes. See chapter Configuration. * Do NOT protect this folder with Shibboleth that it can be accessed anonymous * Set a Link for Login to `/login_aai/` where needed * For local development see the pade "Development" +### File permissions + +* The webserice needs read access. +* The class creates a cachefile "discofeed.json". If there is no write permission in the appfolder then configure another directory with write permissions. + ## Notes The web ui offers just a frontend for your visitors to link multiple organisations. @@ -56,7 +72,7 @@ That the logins at another IDP work you still need to * You and your partner need to enablle EDUGAIN. * The parter IDP must enable the domain of your website -Links: +**Links**: * <https://www.shibboleth.net/> * <https://en.wikipedia.org/wiki/Shibboleth_(software)> diff --git a/docs/50_Configuration.md b/docs/50_Configuration.md index 009c4e88278b68d5fcb1478bb663bb90fc488e73..1377cb4b42ca4c7756f1263b76e34b94674ecfac 100644 --- a/docs/50_Configuration.md +++ b/docs/50_Configuration.md @@ -50,19 +50,32 @@ return [ ]; ``` -| Key | Type | Description -|-- |-- |-- +#### Available settings + +| Key | Type | Description +|-- |-- |-- | title | string | Title of the login page; used for title tag and h1 header -| lang | string | Language to detect texts in discofeed as 2 letter code; If the language is not found it takes the 1st text item +| lang | string | Language as 2 letter code for ui and to detect texts in discofeed; If the language is not found in the discofeed it takes the 1st text item | mode | string | Selection mode; one of <br>- `"boxes"` Boxes with images incl. filter field<br>- `"list"` Top down list of IDPs with images incl. filter field<br>- `"wayf"` Selection with WAYF script from Switch | text-info | string | When not empty: show a warning banner with its text on top eg. for maintenance messages | text-before-wayf | string | Text to show before wayf select box (for mode = "wayf" only) | text-after-logins | string | Fisnishing text after | idps | array | List of enabled idps to whitelist; it will filtered by enabled organisatzions by shibboleth | return-url | string | Return url to your application afer logging in on then organization url<br>- '/shib_login.php' is for Ilias LMS -| cachefile | string | Releative path for cache file; default: discofeed.json +| cachefile | string | Releative path for cache file of the discofeed; default: "discofeed.json"; the user of webserver (www-data, ...) needs write permission in the follder | cachettl | integer | Caching time for cache file (discofeed.json ); default: 60 min +#### Screenshots of modes + +Mode "boxes": + + +Mode "list": + + +Mode "wayf": + + ### Custom Css Place a file named "screen_custom.css". If this exists it will be added in the html code after all other css files. There you can override all styles and values. @@ -72,5 +85,5 @@ Place a file named "screen_custom.css". If this exists it will be added in the h If you want to modify the look of the Idp selection: * go to directory "mode" -* Make a copy of a view, eg. copy "boxes" to "myboxes" and make your changes in the copy -* To activate edit the ./config.php and set `'mode' => 'myboxes',` +* Make a copy of a view, eg. copy "boxes" to "myboxes" and make your changes for coding and styling in your copy +* To activate it edit the ./config.php and set `'mode' => 'myboxes',` diff --git a/docs/_index.md b/docs/_index.md index 3a2efb1a900883231564d2f66cd1ac4389ab9a21..208be2b1aca4c7f7476c214d2d93520452437ab6 100644 --- a/docs/_index.md +++ b/docs/_index.md @@ -1,14 +1,15 @@ -# AAI Login page - -A login page for Php applications with login from multiple AAI organisations. +<html> +<div class="hero"> + <h2>AAI Login page</h2> + A customizable login page with login from multiple AAI organisations. +</div> +</html> + +A customizable login page for Php applications with login from multiple AAI organisations. It offers a set or organisations (Identity providers) that can be filtered. -With it you can let login people with AAI / EDUGAIN on their own university and giv access tou your server. +With it you can let login people with AAI / EDUGAIN on their own university and give access tou your web application. 📜 License: GNU GPL 3.0 \ 📄 Source: <https://git-repo.iml.unibe.ch/iml-open-source/login-aai> \ -📗 Docs: <https://os-docs.iml.unibe.ch/login-aai> - -⚠️ Work in progress! - - \ No newline at end of file +📗 Docs: <https://os-docs.iml.unibe.ch/login-aai/> \ No newline at end of file diff --git a/docs/config.json b/docs/config.json index 8b0fd010cf34ba80df73a2532b6fe4c636c0f85e..7963ddcb2cff465cd98b404a2dea287738727f73 100644 --- a/docs/config.json +++ b/docs/config.json @@ -17,8 +17,8 @@ "basepath": "https://git-repo.iml.unibe.ch/iml-open-source/login-aai/-/tree/main/docs" }, "links": { - "Git Repo": "__GITURL__", - "IML Opensource": "https://os-docs.iml.unibe.ch/" + "Git Repo": "https://git-repo.iml.unibe.ch/iml-open-source/login-aai.git", + "IML Opensource": "https://os-docs.iml.unibe.ch/login-aai/" }, "theme": "daux-blue", "search": true diff --git a/docs/images/login_mode_boxes.png b/docs/images/login_mode_boxes.png index cf93cfe48b6ae2e08742a0e9d10d3da11a6cf6c6..fdc24220542d3aa44edd3fa60c82b0c3b66486e4 100644 Binary files a/docs/images/login_mode_boxes.png and b/docs/images/login_mode_boxes.png differ diff --git a/docs/images/login_mode_list.png b/docs/images/login_mode_list.png new file mode 100644 index 0000000000000000000000000000000000000000..2b8792408ff6fd42dd043dc14795a26011c99730 Binary files /dev/null and b/docs/images/login_mode_list.png differ diff --git a/docs/images/login_mode_wayf.png b/docs/images/login_mode_wayf.png new file mode 100644 index 0000000000000000000000000000000000000000..1277e221fe42e251281229d27ba23455f4b21f92 Binary files /dev/null and b/docs/images/login_mode_wayf.png differ