<div dir="ltr">This sounds like something that I was going to have to write myself for my application (a game server). I can't think offhand of any further improvements, but I might find something when I try it out.<div>My C skills are 17 years rusty (apart from fragments involved in writing language bindings), but I'm sure I can polish them up if I find any enhancements needed.</div><div>Is this in master now?</div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, 23 May 2016 at 12:44 Andy Green <<a href="mailto:andy@warmcat.com">andy@warmcat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi -<br>
<br>
I am partway through making a plugin called "generic-sessions", intended<br>
to provide lightweight persistent http sessions without a server-side<br>
interpreter.<br>
<br>
The overall ideas are:<br>
<br>
  - random 20-byte session id managed in a cookie<br>
<br>
  - all information related to the session held at the server, nothing<br>
managed clientside<br>
<br>
  - sqlite3 used at the server to manage active sessions and users<br>
<br>
  - defaults to creating anonymous sessions with no user associated<br>
<br>
  - admin account (with user-selectable username) is defined in config<br>
with a SHA-1 of the password; rest of the accounts are in sqlite3<br>
<br>
  - login, logout, register account + email verification built-in with<br>
examples<br>
<br>
  - in a mount, some file suffixes (ie, .js) can be associated with a<br>
protocol for the purposes of rewriting symbolnames.  These are read-only<br>
copies of logged-in server state.<br>
<br>
  - When your page fetches .js or other rewritten files from that mount,<br>
"$lwsgs_user" and so on are rewritten on the fly using chunked transfer<br>
encoding<br>
<br>
  - Eliminates server-side scripting with a few rewritten symbols and<br>
javascript on client side<br>
<br>
  - 32-bit bitfield for authentication sectoring, mounts can provide a<br>
mask on the loggin-in session's associated server-side bitfield that<br>
must be set for access.<br>
<br>
  - No code (just config) required for, eg, private URL namespace that<br>
requires login to access.<br>
<br>
Login, logout, cookies, rewriting are already done, I am curious about<br>
any comments or suggestions to make it more useful (especially if anyone<br>
is motivated to contribute).<br>
<br>
-Andy<br>
_______________________________________________<br>
Libwebsockets mailing list<br>
<a href="mailto:Libwebsockets@ml.libwebsockets.org" target="_blank">Libwebsockets@ml.libwebsockets.org</a><br>
<a href="http://libwebsockets.org/mailman/listinfo/libwebsockets" rel="noreferrer" target="_blank">http://libwebsockets.org/mailman/listinfo/libwebsockets</a><br>
</blockquote></div>