Skip to content

[v17] Add SSO MFA prompt for WebUI MFA flows#50529

Merged
Joerger merged 6 commits intobranch/v17from
joerger/v17/sso-mfa-method
Jan 21, 2025
Merged

[v17] Add SSO MFA prompt for WebUI MFA flows#50529
Joerger merged 6 commits intobranch/v17from
joerger/v17/sso-mfa-method

Conversation

@Joerger
Copy link
Copy Markdown
Contributor

@Joerger Joerger commented Dec 20, 2024

Changelog: Add full SSO MFA support for the WebUI.

Backport #4979, #50793, and #50844 to branch/v17

@aws-amplify-us-west-2
Copy link
Copy Markdown

This pull request is automatically being deployed by Amplify Hosting (learn more).

Access this pull request here: https://pr-50529.d212ksyjt6y4yg.amplifyapp.com


import { ButtonState } from 'teleport/lib/tdp';
import { useMfa } from 'teleport/lib/useMfa';
import { useMfaTty } from 'teleport/lib/useMfa';
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.

Pretty sure this breaks per-session MFA for desktops: see #50557

Requesting changes and adding a do-not-merge label to prevent this from getting in a release.

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.

I've added the fix #50793 into this backport

@Joerger Joerger linked an issue Jan 6, 2025 that may be closed by this pull request
@Joerger Joerger force-pushed the joerger/v17/sso-mfa-method branch from b9adc43 to 5ec8278 Compare January 13, 2025 18:25
@Joerger Joerger requested a review from zmb3 January 13, 2025 18:25
@Joerger Joerger force-pushed the joerger/v17/sso-mfa-method branch from 8acdf41 to 6799f94 Compare January 14, 2025 19:43
@Joerger
Copy link
Copy Markdown
Contributor Author

Joerger commented Jan 16, 2025

@zmb3 The Desktop Access regression has been fixed and backported here, can you take another look?

@Joerger Joerger force-pushed the joerger/v17/sso-mfa-method branch from e3a2c31 to 5676dfb Compare January 16, 2025 19:40
@camscale camscale mentioned this pull request Jan 17, 2025
* Include sso channel ID in web mfa challenges.

* Handle SSO MFA challenges.

* Handle sso response in backend.

* Handle non-webauthn mfa response for file transfer, admin actions, and app session.

* Simplify useMfa with new helpers.

* Fix lint.

* Use AuthnDialog for file transfers; Fix json backend logic for file transfers.

* Make useMfa and AuthnDialog more reusable and error proof.

* Use AuthnDialog for App sessions.

* Resolve comments.

* Fix broken app launcher; improve mfaRequired logic in useMfa.

* Fix AuthnDialog test.

* Fix merge conflict with Db web access.

* fix stories.

* Refactor mfa required logic.

* Address bl-nero's comments.

* Address Ryan's comments.

* Add useMfa unit test.

* Fix story lint.

* Replace Promise.withResolvers for compatiblity with older browers; Fix bug where MFA couldn't be retried after a failed attempt; Add extra tests.
* Add sendChallengeResponse implementation for desktop sessions.

* Rename useMfaTty to useMfaEmitter.
* Fix useMfa cancel logic to avoid duplicate error messages across dialog layers.

* Add MfaCanceledError and use promise.reject for mfa cancel.

* Address comments.

* Fix test.

* Remove outdated comment.

* Add comment; Simplify who dialog logic.
@Joerger Joerger force-pushed the joerger/v17/sso-mfa-method branch from 5676dfb to f5f100b Compare January 21, 2025 18:32
@Joerger Joerger enabled auto-merge January 21, 2025 21:44
@public-teleport-github-review-bot public-teleport-github-review-bot Bot removed the request for review from bl-nero January 21, 2025 22:44
@Joerger Joerger added this pull request to the merge queue Jan 21, 2025
Merged via the queue into branch/v17 with commit 7916a96 Jan 21, 2025
@Joerger Joerger deleted the joerger/v17/sso-mfa-method branch January 21, 2025 23:21
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