From f02242414d55ca950708b605742abed080803e9a Mon Sep 17 00:00:00 2001 From: Dhananjay Sathe Date: Wed, 23 Oct 2013 16:11:15 +0530 Subject: [PATCH 1/4] Add redirect get rid of ticket , fix the parameter deletion as this is now a string token does not apply --- lib/cas_helpers.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/cas_helpers.rb b/lib/cas_helpers.rb index db08148..46ccd0e 100644 --- a/lib/cas_helpers.rb +++ b/lib/cas_helpers.rb @@ -28,6 +28,7 @@ def process_cas_login(request, session) if st.success session[:cas_ticket] = st.ticket session[:cas_user] = st.user + return service_url else raise "Service Ticket validation failed! #{st.failure_code} - #{st.failure_message}" end @@ -62,9 +63,9 @@ def read_service_url(request) service_url = url(request.path_info) if request.GET params = request.GET.dup - params.delete(:ticket) + params.delete("ticket") if params - [service_url, Rack::Utils.build_nested_query(params)].join('?') + return [service_url, Rack::Utils.build_nested_query(params)].join('?') end end return service_url From 59f9fc8af98997b637c0b5d4eda5e6030f04d73d Mon Sep 17 00:00:00 2001 From: Dhananjay Sathe Date: Thu, 24 Oct 2013 13:11:26 +0530 Subject: [PATCH 2/4] Hotfix --- lib/cas_helpers.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/cas_helpers.rb b/lib/cas_helpers.rb index 46ccd0e..a3d3e06 100644 --- a/lib/cas_helpers.rb +++ b/lib/cas_helpers.rb @@ -64,7 +64,7 @@ def read_service_url(request) if request.GET params = request.GET.dup params.delete("ticket") - if params + unless params.empty? return [service_url, Rack::Utils.build_nested_query(params)].join('?') end end From bd4fa288e8030413d110c431f62117b405c820a3 Mon Sep 17 00:00:00 2001 From: Dhananjay Sathe Date: Fri, 6 Dec 2013 20:50:23 +0530 Subject: [PATCH 3/4] Get extra attributes --- lib/cas_helpers.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/cas_helpers.rb b/lib/cas_helpers.rb index a3d3e06..26f9dbe 100644 --- a/lib/cas_helpers.rb +++ b/lib/cas_helpers.rb @@ -28,6 +28,7 @@ def process_cas_login(request, session) if st.success session[:cas_ticket] = st.ticket session[:cas_user] = st.user + session[:cas_extra_attributes] = st.extra_attributes return service_url else raise "Service Ticket validation failed! #{st.failure_code} - #{st.failure_message}" From c1f4700e67d592fbb9d23022fe24d71372d5d989 Mon Sep 17 00:00:00 2001 From: Dhananjay Sathe Date: Fri, 6 Dec 2013 21:17:04 +0530 Subject: [PATCH 4/4] show more data in test app --- lib/cas_example.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/cas_example.rb b/lib/cas_example.rb index 29296a8..374aef9 100644 --- a/lib/cas_example.rb +++ b/lib/cas_example.rb @@ -17,6 +17,6 @@ class CasExample < Sinatra::Base get "/protected" do require_authorization(request, session) unless logged_in?(request, session) - "you are logged in as #{session[:cas_user]}" + "you are logged in as #{session}" end end