module Authpds::Session::UrlHandling
Public Instance Methods
login_url(params={})
click to toggle source
URL to redirect to for login. Preceded by :before_login
# File lib/authpds/session/url_handling.rb, line 8 def login_url(params={}) auth_pds_login_url "load-login", params end
logout_url(params={})
click to toggle source
URL to redirect to after logout.
# File lib/authpds/session/url_handling.rb, line 18 def logout_url(params={}) auth_pds_url "logout", user_session_redirect_url(redirect_logout_url), params end
sso_url(params={})
click to toggle source
URL to redirect to in the case of establishing a SSO session.
# File lib/authpds/session/url_handling.rb, line 13 def sso_url(params={}) auth_pds_login_url "sso", params end
Private Instance Methods
auth_pds_login_url(func, params)
click to toggle source
# File lib/authpds/session/url_handling.rb, line 23 def auth_pds_login_url(func, params) auth_pds_url func, validate_url(params), :institute => insitution_code, :calling_system => calling_system end
auth_pds_url(func, url, params)
click to toggle source
# File lib/authpds/session/url_handling.rb, line 29 def auth_pds_url(func, url, params) auth_pds_url = "#{pds_url}/pds?func=#{func}" params.each_pair do |key, value| next if key.blank? or value.blank? auth_pds_url << "&#{key}=#{CGI::escape(value)}" end auth_pds_url << "&url=#{CGI::escape(url)}" end
user_session_redirect_url(url)
click to toggle source
# File lib/authpds/session/url_handling.rb, line 39 def user_session_redirect_url(url) controller.user_session_redirect_url(url) end
validate_url(params={})
click to toggle source
Returns the URL for validating a UserSession on return from a remote login system
# File lib/authpds/session/url_handling.rb, line 46 def validate_url(params={}) url = controller.send(validate_url_name, :return_url => user_session_redirect_url(params[:return_url])) return url if params.blank? url << "?" if url.match('\?').blank? params.each do |key, value| next if [:controller, :action, :return_url].include?(key) next if key.blank? or value.blank? url << "&#{calling_system}_#{key}=#{CGI::escape(value)}" end url end