Thanks Scott. I've done a little more digging since my last e-mail and it appears the reason rubycas-client uses "destination" is because rubycas-server uses "destination" instead of "service" for redirect on logout.
Oddly enough rubycas-client used "service" for redirect on logout before v2.1.0. For some reason in late 2009 they decided to switch it to "destination" "to better match the behaviour of other CAS clients." http://rubycas-client.googlecode.com/svn/trunk/rubycas-client/History.txt It seems to me that redirect on logout is a feature that for the most part is being widely supported in one form or another. Because it is not specified in the CAS protocol there has been feature fragmentation at least in the case of RubyCAS. It might be more trouble than it's worth but it seems reasonable to me for the CAS protocol specification to be updated so that it includes "service" as an optionally supported parameter for /logout so when developers implement this feature it is done consistently. Any thoughts? Jonathan ________________________________ From: Scott Battaglia [[email protected]] Sent: Sunday, April 22, 2012 14:36 To: [email protected] Subject: Re: [cas-user] /logout service parameter Its not an official part of the CAS protocol. It was included as "service" when CAS3 was written (6 years ago) because it was a common extension. I can't speak for why RubyCAS-client chose to use "destination" and not "service". Cheers, Scott On Mon, Apr 16, 2012 at 2:37 PM, Jonathan Windle <[email protected]<mailto:[email protected]>> wrote: Hello, I'm looking for information about how "official" and widely the service parameter is used with /logout. We enable this feature in our CAS implementation by setting the followServiceRedirects property to true for the LogoutController defined in cas-servlet.xml (http://goo.gl/JLz9c). Up until this point I have found this feature to be pretty well supported by most CAS clients and plug-ins that we have implemented. Currently we are implementing the Canvas LMS by Instructure and it being a Ruby on Rails product they use RubyCAS-Client to support CAS. The problem we are having is that RubyCAS-Client returns the redirect url to /logout in a destination parameter not as a service parameter (Look under "Defining a 'logout' action" at https://github.com/rubycas/rubycas-client). So at this point I'm kind of wondering why the CAS specification (http://www.jasig.org/cas/protocol) doesn't define a parameter for redirect on logout and why RubyCAS-Client seems to think that the parameter name should be destination vs service. I would also be interested in knowing what's involved in making /logout understand what to do with the destination parameter. Thanks, Jonathan -- You are currently subscribed to [email protected]<mailto:[email protected]> as: [email protected]<mailto:[email protected]> To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/cas-user -- You are currently subscribed to [email protected] as: [email protected] To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/cas-user -- You are currently subscribed to [email protected] as: [email protected] To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/cas-user
