2

I have followed the steps here https://github.com/thoughtbot/clearance/wiki/API-Authentication (inserted below) to get my Rails API only app going with authentication.

I have run into a couple issues. The first being that "cookies" is undefined.So I commented that out.

Now I am getting

NameError (undefined local variable or method 'form_authenticity_token' for #<BookmakersController:0x00007ffa6f370c78>):
app/controllers/application_controller.rb:12:in `authenticate_via_token'

I can't seem to resolve this last one. BookmakersController is one of my controllers obviously where I have before_action :authenticate_via_token

I am using Postman with Authorization headers set to send a get request to my app.

Any ideas how I can get through this error?

class ApplicationController

protected

  def authenticate_via_token
    return unless api_token
    user = User.find_by_api_token(api_token)
    sign_in user if user
    cookies.delete(:remember_token) # so non-browser clients don't act like browsers and persist sessions in cookies
  end

private

  def api_token
    pattern = /^Bearer /
    header  = request.env["HTTP_AUTHORIZATION"]
    header.gsub(pattern, '') if header && header.match(pattern)
  end
end

class MyController < ApplicationController
  before_action :authenticate_via_token
end
superstar3000
  • 389
  • 5
  • 16

0 Answers0