State machine — auth session
Session auth state machine.
Make it your own.
title "Auth session lifecycle"
state Anonymous
state PendingMFA
state Authenticated
state Expired
state Locked final
initial Anonymous
transition Anonymous -> PendingMFA on "submit_credentials"
transition Anonymous -> Locked on "5_failed_attempts"
transition PendingMFA -> Authenticated on "mfa_verified"
transition Authenticated -> Expired on "timeout"
transition Expired -> Authenticated on "refresh"