In OpenConext/OpenConext-engineblock#1956 we describe a feature where a user can specify per SP which IdP they want to use. On a next login to that SP, the preferred IdP will be used automatically without user interaction.
This story will allow a user to reset that choice (globally, for all SPs at the same time).
The settings of which SP should use which IdP are stored in a cookie rememberedidps which is set on the main OpenCOnext domain (so if profile lives on https://profile.openconex.dev the cookie lives on the .openconext.dev domain).
The cookie is a base64-encoded deflated json structure like this:
{
"https://sp_entityid_1": { "idp": "https://idp_entityid_1", "time": 1784534287 },
"https://sp_entityid_2": { "idp": "https://idp_entityid_2", "time": 1784512345 }
}
In profile, the presence of this cookie should enable the following:
-
On the "my personal data" screen, add an entry at the bottom that shows how many choices are remembered and an option to reset them:
If the cookie is not present, is invalid (base base64, bad deflation data, bad json) or has empty json, show the text "No choices remembered" and hide the reset option.
-
If the user presses the button, show a confirmation popup:
-
If the user presses "Reset all", remove the cookie.
In OpenConext/OpenConext-engineblock#1956 we describe a feature where a user can specify per SP which IdP they want to use. On a next login to that SP, the preferred IdP will be used automatically without user interaction.
This story will allow a user to reset that choice (globally, for all SPs at the same time).
The settings of which SP should use which IdP are stored in a cookie
rememberedidpswhich is set on the main OpenCOnext domain (so if profile lives onhttps://profile.openconex.devthe cookie lives on the.openconext.devdomain).The cookie is a base64-encoded deflated json structure like this:
{ "https://sp_entityid_1": { "idp": "https://idp_entityid_1", "time": 1784534287 }, "https://sp_entityid_2": { "idp": "https://idp_entityid_2", "time": 1784512345 } }In profile, the presence of this cookie should enable the following:
On the "my personal data" screen, add an entry at the bottom that shows how many choices are remembered and an option to reset them:
If the cookie is not present, is invalid (base base64, bad deflation data, bad json) or has empty json, show the text "No choices remembered" and hide the reset option.
If the user presses the button, show a confirmation popup:
If the user presses "Reset all", remove the cookie.