stringo0
stringo0

Reputation: 2760

Accessing get params in CanCan

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!

Upvotes: 4

Views: 1398

Answers (2)

pix
pix

Reputation: 5070

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

Upvotes: 6

stringo0
stringo0

Reputation: 2760

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

Upvotes: 2

Related Questions