Is it possible to access parameters passed in the url in CanCan? I'm trying to authenticate guests based on a token in the url.
Thanks!
I recently achieved something similar using the method described here:
https://github.com/ryanb/cancan/wiki/Accessing-request-data
In my case, it looked something like this:
app/controllers/application_controller.rb:
class ApplicationController < ActionController::Base
...
def current_ability
@current_ability ||= Ability.new(current_user, params[:token])
end
end
app/models/ability.rb:
class Ability
include CanCan::Ability
def initialize(user, token=nil)
...
can :read, Article, :tokens => { :token => token }
...
end
end
Currently, we are using something similar to
authorize! action, resource, session[:access_token]
in a before filter - from this page: http://spreecommerce.com/documentation/security.html
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With