Skip to content

[DEPR]: SAMLProviderConfig reference to outdated SAMLConfiguration #36943

Open
@robrap

Description

@robrap

RFC Start Date

2025-06-23

Target Plan Accepted Date

2025-07-07

Target Transition Unblocked Date

2025-07-07

Earliest Breaking Changes Unblocked Date

2025-07-07

Earliest Open edX Named Release with Breaking Changes

Ulmo - 2025-10

Rationale

This is not exactly a DEPR, but I'd like to use the DEPRs inform and approval process. Additionally, this was almost a fast-track (breaking change) DEPR, but again, I first wanted feedback and approval on the plan.

Currently, the SAMLProviderConfig holds a reference to a SAMLConfiguration. Additionally, the SAMLConfiguration is a ConfigModel, and in theory, and only its current or latest value should be in use. However, the SAMLProviderConfig points to a specific row of the SAMLConfiguration, which will be outdated as soon as the SAMLConfiguration gets updated.

In order to get the latest update for the SAMLConfiguration in all the SAMLProviderConfigs that point to it, one needs to manually update each SAMLProviderConfig to point to the newer SAMLConfiguration. At one point, this caused a production issue at 2U, because this was not clear or obvious to someone updating a SAMLConfiguration.

Initially, this seemed like a clear bug. Instead of holding on to an outdated SAMLConfiguration, it seemed like each SAMLProviderConfig should be updated to point to the latest SAMLConfiguration when a SAMConfiguration is updated. Although this still seems right, it did occur to me that this would be a breaking change for anyone who was relying on the current process, where the SAMLConfiguration could be updated, but the update wouldn't go into effect until the SAMLProviderConfig were updated.

Sp, this proposal is to draw attention to this breaking change, and to ensure there are no objections to the configurations automatically using the current/latest config (as intended by ConfigModels), rather than relying on manual updates and possibly pointing to outdated SAMLConfiguration values.

Removal

Here is the reference to the SAMLConfiguration:

The proposal is not to remove this reference, but simply to auto-update it when a SAMLConfiguration get updated.

Replacement

Again, the replacement of the manual updates to these references will instead be an automatic update to the SAMLConfiguration reference.

Deprecation

No response

Additional Info

No response

Task List

  • Land a fix with a temporary rollout toggle for testing.
  • Remove the temporary rollout toggle.
  • Update named release docs

Task List

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    deprProposal for deprecation & removal per OEP-21

    Type

    No type

    Projects

    Status

    RFC

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions