🤖🤖🤖 fix: collect all active Okta push factors and validate factor status (#31759) - #32067
🤖🤖🤖 fix: collect all active Okta push factors and validate factor status (#31759)#32067waterWang wants to merge 1 commit into
Conversation
|
Deployment failed with the following error: Learn More: https://vercel.com/docs/concepts/projects/project-configuration |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Thank you for your submission! We require that all contributors sign our Contributor License Agreement ("CLA") before we can accept the contribution. Read and sign the agreement Learn more about why HashiCorp requires a CLA and what the CLA includes Have you signed the CLA already but the status is still pending? Recheck it. |
1 similar comment
|
Thank you for your submission! We require that all contributors sign our Contributor License Agreement ("CLA") before we can accept the contribution. Read and sign the agreement Learn more about why HashiCorp requires a CLA and what the CLA includes Have you signed the CLA already but the status is still pending? Recheck it. |
|
ping |
Hello! We cannot accept any contributions without the Contributor License Agreement being signed. Once that's done, I can put your PRs in the queue for engineering evaluation. Thanks! |
Description
Fixes #31759
This PR fixes two issues with the Okta authentication backend's MFA push factor handling:
1. Factor status validation
The
mfaFactorstruct now includes aStatusfield. Inactive factors (status != "ACTIVE") are skipped during factor enumeration, preventing spurious authentication failures when a user has suspended, inactive, or pending-activation factors.2. Multiple push factor support
Instead of overwriting the
pushFactorvariable on each iteration (keeping only the last push factor), all active push factors are now collected into apushFactorsslice. If a push factor is rejected or times out, the next active push factor is tried automatically. This provides redundancy for users with multiple registered Okta Verify Push devices.Changes
builtin/credential/okta/backend.go:Statusfield tomfaFactorstructstatus == "ACTIVE"before useTesting
The existing test file explicitly states: "This test does not exercise MFA however (which is an enterprise feature)". No test changes are included as the MFA flow requires an Okta enterprise environment with push factor enrollment.