OpenConext / OpenConext/OpenConext-profile

Improve UI for global reset "remember my choice" cookies

Open
#348 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Needs-refinement on-hold
Dominant language
PHP
Stars
2
Forks
0
Avg merge
17d 41m
Merged PRs (30d)
1

Description

[!IMPORTANT]
Original story of #345 with more/better user feedback. We decided not to implement this in the first version of https://github.com/OpenConext/OpenConext-engineblock/issues/1956, because it would require Profile to have access to EngineBlock's "remember-my-choice" cookie, or implement a complex way to relay this information from EngineBlock to Profile.

In https://github.com/OpenConext/OpenConext-engineblock/issues/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:

    Image

    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:

    Image
  • If the user presses "Reset all", remove the cookie.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the profile’s “my personal data” screen and trace how its UI and cookies are handled. Inspect the rememberedidps cookie parsing and identify the existing entry point for adding the remembered-choice count and reset action. Done means invalid or empty cookies show “No choices remembered,” valid cookies show the count, confirmation appears before resetting, and “Reset all” removes the cookie.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
frontend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
65/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.