SURFscz / SBS

Samenwerking Beheer Systeem ↣ Collaboration Management System
Apache License 2.0
3 stars 2 forks source link

Refactor login process #883

Open baszoetekouw opened 1 year ago

baszoetekouw commented 1 year ago

The current authorization and login flows are rather messy, contain duplicated code and don't always work as expected. Also, they still contain the old SSID SFO flow, which we don't use anymore.

So, let's refactor this

Overview of how authorization and login flows should work: sbs

This refactoring involves the following endpoints:

The main idea of the new flow is that we keep the proxy_authz call as lean as possible. We restrict this to basic checks to determine if:

This means that lots of the stuff that we currently do in the proxy_authz calls, we move to a single place in the SBS login process. Also, all of the complicated redirect stuff (and handling the continue_url parameter) is done at 1 place (the interrupt page).

Flows

From a user perspective, there are 4 different flows to support:

  1. SBS login
  2. Successful Service login
  3. Interrupted Service login
  4. Failed Service login

I will describe those below:

1. SBS login

2. Successful Service login

3. Interrupted Service login

4. Failed Service login

See also

logan-life commented 4 weeks ago

Bas to take another look and refine if needed while work continues.