An Erlang Session Management system
The standard session management system for Nitrogen
- Data Persistence (stored in mnesia)
- Data is replicated across all connected node
- Automatic self-healing in the event of split brain, new nodes being added to the cluster, and more.
- Expired sessions automatically deleted accordingly
Add as a rebar dependency in your rebar.config
{deps, [canister]}.Put it in your app.src file or start it explicitly with:
application:ensure_all_started(canister).
canister:put(SessionID, Key, Value).Returns: Previously stored Value or undefined
canister:get(SessionID, Key).Returns: Value or undefined
canister:session_info(SessionID).Retrieves all data variables as well as relevant dates and times: when it was last accessed, updated, or deleted
See canister.config for explanation of configuration variables.
Note: session_timeout variable will also check the nitrogen and nitrogen_core app configs, just in case.
- Rebuild the test suite using
peerinstead ofct_slave(ct_slavegoes away in OTP 29)
- Fix some warnings
- Add Github Actions testing
- Improve some backwards compatibility with rebar2
- Switch
canister_logto uselogger - Improve the build process a bit
- Initial Release
Copyright 2022 Jesse Gumm