What’s the best way to confirm sensitive actions for SSO users without local passwords?

0
0
Asked By MellowCedar42 On

I'm adding Google-based SSO to an existing application where some sensitive actions currently require the user to re-enter their password, such as changing security settings or performing destructive operations. SSO users do not have a password stored locally, so I need a suitable replacement for that confirmation step.

Possible approaches include requesting step-up authentication from the identity provider, requiring MFA, sending a one-time email code, or creating a separate application password. The application also has an older security-question feature, but using it for high-risk actions seems questionable.

My main concern is that an identity-provider session may already be active. If re-authentication silently reuses that session, it may not provide meaningful additional assurance. What pattern should an application use to confirm a user's identity before allowing sensitive actions when authentication is handled through SSO?

4 Answers

Answered By CopperNoodle5 On

I would not add a local password just for SSO users. A reasonable order of preference is recent identity-provider authentication, provider-managed MFA or WebAuthn, and then a carefully implemented one-time code as a fallback. Requiring confirmation only for clearly defined high-impact actions also makes the security model easier to explain and reduces unnecessary interruptions.

Answered By VividMaple88 On

MFA is generally best handled by the identity provider rather than implemented separately in every application. For especially sensitive operations, use a step-up flow that requests stronger authentication or a recent authentication event. Standards such as OAuth step-up authentication can help structure this. The right design also depends on the threat you are addressing—account takeover, an unattended unlocked session, or accidental destructive actions may each call for different controls.

Answered By OrbitingLime7 On

Use identity-provider step-up authentication when possible. For Google, an authorization request can use parameters such as `prompt=login` or an appropriate `max_age` value, then the application should inspect the returned authentication time and require that it is recent. That helps distinguish a genuinely recent authentication from simply reusing an old application session. Avoid creating a separate application password, since it introduces another credential system to maintain and undermines the single sign-on model.

Answered By QuietHarbor31 On

If provider step-up authentication is unavailable or would make the experience too disruptive, a short-lived email OTP can be a practical fallback for destructive actions. It is common and relatively easy for users to understand, but it should be treated as weaker assurance because access to the email account may be linked to the same SSO identity. Use a short expiration, limit attempts, record the event, and never use security questions as the primary protection for high-risk actions.

Related Questions

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.