ВСТУП
Модуль n2o_session надає механізм сесій — змінні сесій, захищені токеном авторизації.
ТИПИ
Токен сесії представляє собою кортеж, кешований в ETS. Він складається з ідентифікатора сесії, терміну придатності, ключа та значення. Токен сесії використовується як для змінних авторизації, так і для змінних сесії.
Токен сесії виглядає як значення, зашифроване pickler, в кортежі з ключем 'Token'.
API
authenticate([],binary()) -> token().
Протокол виглядає наступним чином. Якщо термін придатності сесії закінчився, або токен сесії недійсний — створюється новий токен сесії. У випадку, коли термін придатності ще не закінчився, і токен сесії є валідним, можливі два варіанти: 1) якщо параметр n2o nitro_prolongate дорівнює true, то оновлюється значення терміну придатності для поточної сесії (поки sid сесії залишається незмінним); 2) якщо nitro_prolongate дорівнює false — токен сесії повністю залишається незмінним.
get_value(binary(),term(),term()) -> term().
Повертає значення змінної сесії зі storage сесій.
set_value(binary(),term(),term()) -> term().
Зберігає значення змінної сесії в storage сесій.
storage() -> atom().
Повертає поточний бекенд сесій. По замовчуванню n2o_session.
prolongate() -> boolean().
Повертає n2o параметр nitro_prolongate. По замовчуванню false.
BACKEND
clear(binary()) -> ok.
Очищає всі змінні сесії по sid.
update(session()) -> ok.
Оновлює сесію.
delete(session_key()) -> ok.
Видаляє сесію по ключу.
lookup(session_key()) -> ok.
Пошук сесії по ключу.
invalidate_sessions() -> ok.
Видаляє всі змінні, для яких закінчився термін придатності, для всіх сесій.