a system of nerds · plural they/them · twitch.tv/DarcyMeow
Working on MagentaServer, the new reference server implementation for the MagentaSSO authentication protocol - something I came up with a while ago, which is basically "a slightly opinionated take on the bare minimum you need for a secure single-sign-on protocol."
This is the development debugging page, containing a couple utility buttons; a view of the session data and info about the currently-logged-in user (if present); and a way to create a new user with an arbitrary permissions string.
The app is Slim 4, with Twig for templating (incl. a custom Twig extension), a pieced-together
Controller class handling method dispatch, Laravel's
illuminate/database for the models, and
cakephp/phinx for database migrations. Session data is stored as a Redis hash using the session ID as the primary key, similar to what Waterfall does (and honestly, I don't know why I didn't do this style of session management earlier!).
It doesn't look like it does much just yet - all that's really implemented is login and logout, with no actual user management or administration tools - but there's so much going on under the hood to make this all work and I'm very pleased with it.
I'm mainly working on this so that I actually have a reference MagentaSSO server that I'm happy with - the current reference implementation is a very very very very VERY bad Python/Flask app. And also I need to have a working MagentaSSO server in the next few days so I can set up a few of my internal tools again, and then rework the thing I posted about a while ago to use this new application structure (and also use MagentaSSO for authentication).