{"repo":"jellydator/sessionup","free":true,"listed":false,"github":"https://github.com/jellydator/sessionup","clone":"git clone https://github.com/jellydator/sessionup.git","description":"Straightforward HTTP session management","language":"Go","stars":132,"topics":["session-management","session","http","golang","go","cookies","authentication"],"license":"MIT","category":"auth-billing-email","readme_excerpt":"sessionup 🚀 Simple, yet effective HTTP session management and identification package Features - Effortless session management: - Initialization. - Request authentication. - Retrieval of all sessions. - Revokation of the current session. - Revokation of all other sessions. - Revokation of all sessions. - Optionally identifiable sessions (IP address, OS, browser). - Authentication via middleware. - Fully customizable, but with sane defaults. - Lightweight. - Straightforward API. - Allows custom session stores. Installation Usage The first thing you will need, in order to start creating and validating your sessions, is a Manager: Out-of-the-box sessionup's Manager instance comes with recommended OWASP configuration options already set, but if you feel the need to customize the behaviour and the cookie values the Manager will use, you can easily provide your own options: During registration, login or whenever you want to create a fresh session, you have to call the Init method and provide a key by which the sessions will be grouped during revokation and retrieval. The key can be anything that defines the owner of the session well: ID, email, username, etc. You can store additional information with your session as well. Public / Auth middlewares check whether the request has a cookie with a valid session ID and add the session to the request's context. Public , contrary to Auth , does not call the Manager's rejection function (also customizable), thus allowing the wrapped handler","default_branch":null,"files":null,"tree":[],"storefront":"/r/jellydator","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/jellydator/sessionup/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}