Distinguishing SSO from login with initial auth (3.2.1)

Christopher Bongaarts cab at umn.edu
Tue Dec 6 15:42:38 EST 2016


I'm trying to add some logging of auth events to our IdP (3.2.1) at the 
behest of our security folks.

I've added login success/failure for username/password form submission, 
but I'd also like to log something when SSO is used instead.  However, 
we're using initial auth (password) in order to support Duo auth.

Since the initial auth works by always trying a method (password in our 
case) first, and setting that result in a session, the main auth flow 
treats "real" SSO and password success the same - in both cases they 
reuse an existing auth result and SelectAuthenticationFlow returns 
"proceed".  Also, the attempted auth flow is empty.

Is there another way that e.g. an Action running within the standard 
auth-flow could identify whether an auth result is due to "real" SSO 
from the initial flow, or a password auth from the initial flow?

I don't want to log the SSO "success" from within the initial-authn-flow 
since it only checks for an active session; it is authn-flow that 
actually decides whether to use any of the auth results from the session.

I think I can work around this by setting some sort of state in the 
initial-authn-flow to tell whether it just passed along the session, or 
if it actively prompted the user for username/password, though I'm not 
sure where (perhaps a custom subcontext attached to the 
profileRequestContext, but maybe that's overkill?).

I expect this to be easier in 3.3 when we're able to ditch the initial 
auth construct...

Any suggestions?

-- 
%%  Christopher A. Bongaarts   %%  cab at umn.edu          %%
%%  OIT - Identity Management  %%  http://umn.edu/~cab  %%
%%  University of Minnesota    %%  +1 (612) 625-1809    %%



More information about the dev mailing list