Skip to content

OIDC: Enable Separate 'Request Object Mode' For MFA Flow#58177

Merged
rhammonds-teleport merged 3 commits intomasterfrom
rhammonds/split-mfa-jar-settings
Aug 22, 2025
Merged

OIDC: Enable Separate 'Request Object Mode' For MFA Flow#58177
rhammonds-teleport merged 3 commits intomasterfrom
rhammonds/split-mfa-jar-settings

Conversation

@rhammonds-teleport
Copy link
Copy Markdown
Contributor

@rhammonds-teleport rhammonds-teleport commented Aug 20, 2025

We recently enabled JWT-Secured Authorization Requests for OIDC connectors with #56990, but made the faulty assumption that users would want to use the same request object mode for both login and MFA flows. This PR corrects that oversight by enabling a separate setting for each flow.

If request_object_mode is omitted from the MFA settings then the base connector's configuration is used for both modes. Ex:

kind: oidc
spec:
  request_object_mode: signed
  mfa: # <- MFA settings do not define 'request_object_mode'. 'signed' will be used per base config
    enabled: true

vs

kind: oidc
spec:
  request_object_mode: signed
  mfa:
    enabled: true
    request_object_mode: none # <- 'none' is explicitly chosen. MFA flows will not use request objects

Changelog: Enable separate request_object_mode setting for MFA flow in OIDC connectors.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Aug 20, 2025

Amplify deployment status

Branch Commit Job ID Status Preview Updated (UTC)
rhammonds/split-mfa-jar-settings 784c78a 4 ✅SUCCEED rhammonds-split-mfa-jar-settings 2025-08-22 02:39:04

// RequestObjectMode determines how JWT-Secured Authorization Requests will be used for authorization
// requests. JARs, or request objects, can provide integrity protection, source authentication, and confidentiality
// for authorization request parameters.
string RequestObjectMode = 7 [(gogoproto.jsontag) = "request_object_mode,omitempty"];
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we mention right here that we default to the connector property of the same name if not explicitly set?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea.

@marcoandredinis marcoandredinis removed their request for review August 21, 2025 15:30
Ryan Hammonds added 3 commits August 21, 2025 22:32
…cally for MFA. If 'request_object_mode' is omitted from MFA settings, then the base connector's configuration it used for both login and MFA flows.
@public-teleport-github-review-bot public-teleport-github-review-bot bot removed the request for review from tigrato August 22, 2025 16:53
@rhammonds-teleport rhammonds-teleport added this pull request to the merge queue Aug 22, 2025
Merged via the queue into master with commit 7c41b86 Aug 22, 2025
44 checks passed
@rhammonds-teleport rhammonds-teleport deleted the rhammonds/split-mfa-jar-settings branch August 22, 2025 17:49
@backport-bot-workflows
Copy link
Copy Markdown
Contributor

@rhammonds-teleport See the table below for backport results.

Branch Result
branch/v17 Failed
branch/v18 Failed

rhammonds-teleport added a commit that referenced this pull request Aug 22, 2025
* OIDC: Allow users to specify a separate 'request_object_mode' specifically for MFA. If 'request_object_mode' is omitted from MFA settings, then the base connector's configuration it used for both login and MFA flows.

* gen crds

* Add a word of caution about the default behavior of 'OIDCConnectorMFASettings.RequestObjectMode' if omitted.

---------

Co-authored-by: Ryan Hammonds <ryan.hammonds@Ryans-MacBook-Pro.local>
mmcallister pushed a commit that referenced this pull request Sep 22, 2025
* OIDC: Allow users to specify a separate 'request_object_mode' specifically for MFA. If 'request_object_mode' is omitted from MFA settings, then the base connector's configuration it used for both login and MFA flows.

* gen crds

* Add a word of caution about the default behavior of 'OIDCConnectorMFASettings.RequestObjectMode' if omitted.

---------

Co-authored-by: Ryan Hammonds <ryan.hammonds@Ryans-MacBook-Pro.local>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants