the iris system

a system of nerds · plural they/them · twitch.tv/DarcyMeow

blobcat(they/them)
posted this
Time ago
MagentaServer debugging view, showing that there is no current session
MagentaServer debugging view, showing a valid session with a CSRF token and a user ID, and details about the logged in user

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).


Notes
blobcat posted this