module AuthlogicRpx
module Helper
# helper to insert an embedded iframe RPX login
# takes options hash:
# * app_name: name of the application (will be prepended to RPX domain and used in RPX dialogues)
# * return_url: url for the RPX callback (e.g. user_sessions_url)
# * add_rpx: if true, requests RPX callback to add to current session. Else runs normal authentication process (default)
def rpx_embed(options = {})
params = (
{ :authenticity_token => form_authenticity_token, :add_rpx => options[:add_rpx] }.collect { |n| "#{n[0]}=#{ u(n[1]) }" if n[1] }
).compact.join('&')
RPXNow.embed_code(options[:app_name], u( options[:return_url] + '?' + params ) )
end
# helper to insert a link to pop-up RPX login
# takes options hash:
# * link_text: text to use in the link
# * app_name: name of the application (will be prepended to RPX domain and used in RPX dialogues)
# * return_url: url for the RPX callback (e.g. user_sessions_url)
# * add_rpx: if true, requests RPX callback to add to current session. Else runs normal authentication process (default)
def rpx_popup(options = {})
params = (
{ :authenticity_token => form_authenticity_token, :add_rpx => options[:add_rpx] }.collect { |n| "#{n[0]}=#{ u(n[1]) }" if n[1] }
).compact.join('&')
RPXNow.popup_code(
options[:link_text],
options[:app_name],
u( options[:return_url] + '?' + params ),
:unobstrusive=>true
)
# NB: i18n considerations? supports a :language parameter (not tested)
end
end
end