Domyślnie usługa SSO przechowuje sesje w rozproszonym, klastrowym magazynie klucz-wartość udostępnianym przez consul. Zapewnia to dużą odporność na awarie i z założenia gwarantuje bezpieczny odczyt i zapis. Z drugiej strony w witrynach o dużym ruchu może to obniżać wydajność.
Aby temu zaradzić, rozwiązanie zawiera kilka mechanizmów magazynu sesji, które pozwalają przechowywać sesje w zewnętrznej relacyjnej bazie danych lub w usłudze REDIS dołączonej do Notakey Authentication Appliance.
Zakładając, że usługa REDIS jest skonfigurowana z VRRP pod adresem 10.0.1.98, aby przełączyć się na magazyn REDIS, należy wykonać następujące polecenia konfiguracyjne:
ntk cfg set :sso.base.\"store.type\" "redis"
ntk cfg set :sso.base.\"store.redis.host\" "10.0.1.98"
Jeśli korzystają Państwo z pojedynczego węzła lub nie używają VRRP, adres
10.0.1.98 należy zastąpić wartością redis — to wewnętrzna nazwa tej usługi.
Szczegóły można znaleźć w
Konfiguracja usługi REDIS z VRRP.
Należy pamiętać, że po każdej zmianie konfiguracji trzeba ponownie uruchomić
wszystkie instancje usługi poleceniem ntk sso restart. Warto też zwrócić
uwagę, że obecnie nie
ma sposobu na migrację z jednego typu magazynu sesji na inny, więc po ponownym
uruchomieniu usługi wszystkie aktywne sesje zostaną unieważnione.
Po zmianach należy upewnić się, że sesje trafiają do REDIS (polecenie uruchamia się na węźle, na którym działa usługa REDIS, np. MASTER):
docker exec -it redis redis-cli -n 0
> keys sso.*