AC Login - instalace a konfigurace¶
- Table of contents
- AC Login - instalace a konfigurace
Požadavky¶
- Shibboleth Service Provider 2.x (site)
- Apache web server s podporou SSL a PHP
- AC API - knihovna pro přístup k API Adobe Connect (zdrojáky)
- AC Login (zdrojáky)
Instalace potřebných PHP knihoven¶
Zend Framework¶
Stáhněte si poslední verzi a rozbalte ji na cílovém systému v adresáři dle vlastního uvážení. A to je všechno.
AC API¶
Tato knihovna implementuje komunikaci s Adobe Connect serverem. Stáhněte si aktuální verzi do adresáře dle vlastního uvážení, například /var/lib/php/
.
git clone https://homeproj.cesnet.cz/git/acapi.git
Instalace a konfigurace aplikace¶
Stáhněte si poslední verzi a rozbalte ji někde na svém systému. Na adresář s aplikaci se budeme odkazovat dale jako ACLOGIN_HOME.
git clone https://homeproj.cesnet.cz/git/aclogin.git
Konfigurace Apache¶
V Apache je potřeba nastavit přístup k adresáři ACLOGIN_HOME/www:
Alias /aclogin ACLOGIN_HOME/www
Dále je potřeba zařídit, aby tenti adresář byl chráněn Shibbolethem:
<Directory ACLOGIN_HOME/www> AuthType shibboleth ShibRequireSession On require valid-user </Directory>
Konfigurace Shibbolethu¶
Je potřeba nastavit (pokud tomu tak není) mapovaní pro atributy (attribute-map.xml
), obsahující informace u uživateli, konkrétně:
- UID (uživatelské jméno nebo jiný druh identifikátoru) - obvykle je to některý z atributů eduPersonPrincipalName, eduPersonTargetedId aj.
- email - obvykle je to atribut mail
- jméno - obvykle je to atribut givenName
- příjmení - obvykle je to atribut sn
Ještě poznámka k UID - v konfiguračním souboru shibboleth2.xml
je v elementu ApplicationDefaults nastaven atribut REMOTE_USER
, obvykle takto:
<ApplicationDefaults id="default" policyId="default"
entityID="https://sp.example.org/shibboleth"
homeURL="https://sp.example.org/index.html"
REMOTE_USER="eppn persistent-id targeted-id"
signing="false" encryption="false">
Hodnota atributu REMOTE_USER
je sestavena z názvů několika atributů oddělených mezerou. Znamená to, že pro nastavení proměnné prostředí REMOTE_USER
budou použity tyto atributy a to tak, že se vezme první nastavená hodnota, tj. pokud neni nastaven atribut eppn, použije se atribut persistent-id atd.
Konfigurace Adobe Connect¶
Aplikace se připojuje k Adobe Connect serveru pomocí vzdáleného API a provádí operace, které vyžadují administrátorská práva (vytváření uživatelů, řazení uživatelů do skupin apod.). Proto je potřeba v systému Adobe Connect založit systémového uživatele s administrátorskými právy.
(!) V konfiguraci Adobe Connect je potřeba zrušit nastavení, že jako uživatelské jméno se používá email uživatele. Nastavení najdete v sekci Administration --> Users and Groups --> Edit Login and Password Policies
.
Konfigurace aplikace¶
V souboru ACLOGIN_HOME/init.php
se inicializují externí knihovny. Ujistěte se, že máte správně nastavené cesty k nim:
// The Zend framework directory
define('ZEND_FW_DIR', '/var/lib/php/zend/');
// The directory, where the AC PHP API is installed
define('ACAPI_LIB_DIR', '/var/lib/php/acapi/');
Konfigurace je uložena v konfiguračním souboru ACLOGIN_HOME/config/aclogin.ini
. Jde o klasický INI soubor, obsahující sekce a páry "klíč = hodnota". Komentáře začínají středníkem. Každá položka je patříčně okomentovaná. Důležitější položky jsou popsány níže:
[general]
- admin_emai* - email administrátora aplikace
- entity_id - hodnota entityId daného service providera
[account]
- default_group - pokud je nastaveno, nové uživatele budou automaticky zařazeni do této skupiny. Skupina musí existovat na Adobe Connect serveru.
- password_salt - náhodný řetězec pro generování hesel uživatelů
- redirect_uri - URL, kam přesměrovat uživatele po úspěšné autentizace (URL, na kterém je dostupný Adobe Connect)
[shibboleth]
- uid_field nebo remote_user_field - aplikace zjišťuje informace o uživateli z proměnných prostředí, které nastavuje Shibboleth. Uživatelské jméno je možné získat dvěma způsoby:
- přímo z proměnné beze změn - je potřeba do uid_field nastavit jméno proměnné, jejiž hodnota beze změn pak bude použita jako uživatelské jméno
- vzhledem k tomu, že ve federovaném prostředí se vyskytují uživatelská jména a identifikátory v odlišných formátech, je možné generovat jakýsi "normalizovaný" tvar pro použití v Adobe Connect. Do remote_user_field je potřeba nastavit název proměnné, která bude použita jako základ pro tento normalizovaný tvar, obvykle je to REMOTE_USER a její hodnotu lze dodatečně ovlivnit v konfiguraci Shibboleth (( V
shibboleth2.xml
, v elementu ApplicationDefaults.)). Pokud si nejste jisti, použijte výchozí nastavení (remote_user_field = REMOTE_USER
) a hodnotu uid_field ponechte prázdnou.
- mail_field, givenName_field, sn_field - názvý proměnných, které obsahují údaje o resp. emailu, jména a příjmení (obvykle odpovídají atributům mail, givenName a sn)
[acapi]
- uri - URL, na kterém je k dispozici Adobe Connect remote XML API, obvykle je to
https://ac.server.cz/api/xml
- username, password - přihlašovací údaje systémového účtu na serveru Adobe Connect
Instance¶
Z jedné instalace AC Login je možné obsluhovat více instancí Adobe Connect. Každá instance je pojmenovaná a má vlastní konfigurační soubor, který je svou strukturou i obsahem identický se standardním konfiguračním souborem. Mapování jména instance na konkrétní konfigurační soubor je uloženo v config/instances.php
(po instalaci je potřeba ho vytvořit z přiloženého instances.php.dist
).
Konkrétní instance je v procesu přihlášení vyvolaná pomocí GET parametru instance, například AC Login zavolaný pomocí následujícího URL použije konfiguraci pro instanci "connect":
https://example.com/aclogin/?instance=connect
Testování instalace¶
Přihlášení vyzkoušíme zadáním URL https://HOSTNAME/aclogin/
(HOSTNAME je adresa serveru, na kterém jsme instalovali přihlašovací aplikaci) do prohlížeče. Pokud je vše v pořádku, proběhne běžný process federativního přihlášení (přesměrování na WAYF a poté autentizace u domovského IdP). Poté budemě přesměrováni do samotné aplikace.
Další úpravy¶
Po zavedení federovaného přihlášení je vhodné z přihlašovací stránky ostranit přihlašovací formulář a nahradit ho odkazem nebo tlačítkem, které přesměruje uživatele k Adobe Connect Login aplikaci (https://HOSTNAME/aclogin/
). Uživatelské rozhraní Adobe Connect je realizováno pomocí XSL souborů. Konkrétně přihlašovací formulář lze najit v souboru BREEZE_HOME\appserv\apps\system\login.xsl
.