> As supporting new protocols (https://wiki.jasig.org/display/CAS/CAS+Roadmap, 
> https://wiki.jasig.org/pages/viewpage.action?pageId=28574039) is one of the 
> main CAS purposes, I'm wondering about the right strategy to integrate 
> external protocols (including OAuth).

Excellent question.  We should spend some time thinking about this.

> Overriding the /login process seems to me like a limited solution as it makes 
> things more complicated to understand and maintain and I'm not sure we can 
> even make all protocols work at the same spot.

I'm fairly certain we can by leveraging what has been arguably the
best tool for extensibility in the CAS project: Spring Webflow.  With
a fairly simple set of components that are conceptually similar to the
existing ArgumentExtractors, we could dispatch each protocol to a flow
that is designed to support it specifically.  In my mind the beauty of
this approach is that we don't have to add new URIs for each protocol
we support and we don't have to architect a single API for all
existing and future protocols, which seems like the biggest barrier to
designing more robust multi-protocol support.  Webflow has allowed us
to add a number of new and interesting features to CAS in an
extensible and backward compatible fashion; I'm fairly certain we
could do the same with protocol support.

M

-- 
You are currently subscribed to cas-dev@lists.jasig.org as: 
arch...@mail-archive.com
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/cas-dev

Reply via email to