A picture is worth a thousand words. I had trouble keeping in my head all the requests/responses, what data is passed with each request and response and what code in Ipsilon handles the request (and hence what data is presented to the page handler). This is important if you need to understand how the whole thing ties together, especially if you need to modify some aspect of it.
I created a sequence diagram [1] illustrating the data flow and handlers. Here is a pointer to the SVG file.
https://jdennis.fedorapeople.org/doc/SSO_login_form_sequence.svg
I suggest you download the SVG and view it with a decent image viewer (I use Gnome Image Viewer) that allows easy zooming, if you view it in your web browser it will probably be hard to read.
If you see any errors let me know.
FWIW the dashed arrows represent redirects. Name=Value pairs preceded by a question mark are URL query parameters. Hope everything else is obvious.
[1] The tool I used to generate the diagram from a wonderful Python based set of diagramming tools that allow you to write simple text files and it converts it into a nice illustration. Here is a pointer to the tool:
http://blockdiag.com/en/index.html
Available as Fedora packages.