Upgrade path : IdP V2 Filter --> V3 FlowExecutionListener ?
Cantor, Scott
cantor.2 at osu.edu
Sat Apr 9 10:37:04 EDT 2016
> Just wondering if it sounds reasonable to say that an upgrade path for
> an IdPv2 Servlet Filter is an IdPv3 FlowExecutionListener. If so,
> maybe the configuration of flow-execution-listeners could/should be
> moved to user-space.
Filters a very general mechanism, I don't think that the listeners would be equivalent for any but a very tiny subset of use cases.
> The use case is auditing events, such as logout or session re-use
> (SSO), where the principal name is desirable.
I think auditing should be addressed with the auditing code, and all of that should already possible. Logout is heavily audited already.
> In v2, it was possible to get the IdPSession from the HTTP session.
> Not so much in v3. As Scott said on the last dev call : the session is
> on the client. So, custom code which is interested in the username
> needs to be called from within Web Flow, not outside of it like a
> Filter.
The username is in the context tree.
> With logout, there aren't any built-in interception points (for
> example, the post-authn profile intercept sub-flows), so I think the
> options for calling custom code are (1) a FlowExecutionListener, (2)
> overriding an Action bean, and (3) modifying flow definition files in
> system/. Not sure if (2) works. Narrowing the use case to auditing,
> another approach might be to extend auditing to somehow call user
> defined code (and thus create an API).
There already is a massive extension framework for auditing custom fields.
> But it's not possible at the moment for a deployer to add a listener
> without modifying system/conf/webflow-config.xml. Maybe the list (not
> sure it's a List) of flow-execution-listeners could be moved to conf/,
> not sure how to do that wiring.
That's a custom XML schema. We would probably have to redo the webflow config with native Spring unless there's a way to inject them after the fact.
> I imagine that writing to a database or sending a message somewhere
> upon some events occurring on the IdP would be useful or possibly
> required by some deployers. I'm thinking that flow execution listeners
> are the right approach. Does that sound right ?
Not unless we think the auditing layer should be replaced with that.
-- Scott
More information about the dev
mailing list