# Help with authentication errors

**URL:** <https://discuss.rubyonrails.org/t/help-with-authentication-errors/26949>\
**Category:** rubyonrails-talk\
**Created:** [March 27, 2008, 2:40pm UTC](https://discuss.rubyonrails.org/t/help-with-authentication-errors/26949 "2008-03-27T14:40:59Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![11175](https://avatars.discourse-cdn.com/v4/letter/1/8edcca/32.png) [@11175](https://discuss.rubyonrails.org/u/11175)\
**Post date:** [March 27, 2008, 2:40pm UTC](https://discuss.rubyonrails.org/t/help-with-authentication-errors/26949/1 "2008-03-27T14:40:59Z")

</div>

Hello,

I have been working through two books, "Agile Web Development with Rails, 2nd Ed." and "Ajax on Rails". I'm using Rails2.0. In both cases, I run into an authentication error when doing the examples. In AWDwR, when trying to add new information to the database (p. 68) I get

ActionController::InvalidAuthenticityToken in AdminController#create

ActionController::InvalidAuthenticityToken

RAILS\_ROOT: C:/ruby/myprojects/ajaxonrails Application Trace | Framework Trace | Full Trace

c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action\_controller/request\_forgery\_protection.rb:79:in `verify_authenticity_token' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/filters.rb:469:in `send!' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action\_controller/filters.rb:469:in `call' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/filters.rb:441:in `run' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action\_controller/filters.rb:716:in `run_before_filters' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/filters.rb:695:in `call\_filters' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action\_controller/filters.rb:689:in `perform_action_without_benchmark' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/benchmarking.rb:68:in `perform\_action\_without\_rescue' c:/ruby/lib/ruby/1.8/benchmark.rb:293:in `measure' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/benchmarking.rb:68:in `perform\_action\_without\_rescue' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action\_controller/rescue.rb:199:in `perform_action_without_caching' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/caching.rb:678:in `perform\_action' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active\_record/connection\_adapters/abstract/query\_cache.rb:33:in `cache' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/query_cache.rb:8:in `cache' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action\_controller/caching.rb:677:in `perform_action' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/base.rb:524:in `send' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action\_controller/base.rb:524:in `process_without_filters' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/filters.rb:685:in `process\_without\_session\_management\_support' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action\_controller/session\_management.rb:123:in `process' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/base.rb:388:in `process' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action\_controller/dispatcher.rb:171:in `handle_request' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:115:in `dispatch' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action\_controller/dispatcher.rb:126:in `dispatch_cgi' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:9:in `dispatch' c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/webrick\_server.rb:112:in `handle_dispatch' c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/webrick_server.rb:78:in `service' c:/ruby/lib/ruby/1.8/webrick/httpserver.rb:104:in `service' c:/ruby/lib/ruby/1.8/webrick/httpserver.rb:65:in `run' c:/ruby/lib/ruby/1.8/webrick/server.rb:173:in `start_thread' c:/ruby/lib/ruby/1.8/webrick/server.rb:162:in `start' c:/ruby/lib/ruby/1.8/webrick/server.rb:162:in `start_thread' c:/ruby/lib/ruby/1.8/webrick/server.rb:95:in `start' c:/ruby/lib/ruby/1.8/webrick/server.rb:92:in `each' c:/ruby/lib/ruby/1.8/webrick/server.rb:92:in `start' c:/ruby/lib/ruby/1.8/webrick/server.rb:23:in `start' c:/ruby/lib/ruby/1.8/webrick/server.rb:82:in `start' c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/webrick\_server.rb:62:in `dispatch' c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/commands/servers/webrick.rb:66 c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem\_original\_require' c:/ruby/lib/ruby/site\_ruby/1.8/rubygems/custom\_require.rb:27:in `require' c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:496:in `require' c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active\_support/dependencies.rb:342:in `new_constants_in' c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:496:in `require' c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/commands/server.rb:39 c:/ruby/lib/ruby/site\_ruby/1.8/rubygems/custom\_require.rb:27:in `gem_original_require' c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require' script/server:3

c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action\_controller/request\_forgery\_protection.rb:79:in `verify_authenticity_token' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/filters.rb:469:in `send!' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action\_controller/filters.rb:469:in `call' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/filters.rb:441:in `run' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action\_controller/filters.rb:716:in `run_before_filters' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/filters.rb:695:in `call\_filters' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action\_controller/filters.rb:689:in `perform_action_without_benchmark' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/benchmarking.rb:68:in `perform\_action\_without\_rescue' c:/ruby/lib/ruby/1.8/benchmark.rb:293:in `measure' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/benchmarking.rb:68:in `perform\_action\_without\_rescue' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action\_controller/rescue.rb:199:in `perform_action_without_caching' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/caching.rb:678:in `perform\_action' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active\_record/connection\_adapters/abstract/query\_cache.rb:33:in `cache' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/query_cache.rb:8:in `cache' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action\_controller/caching.rb:677:in `perform_action' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/base.rb:524:in `send' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action\_controller/base.rb:524:in `process_without_filters' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/filters.rb:685:in `process\_without\_session\_management\_support' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action\_controller/session\_management.rb:123:in `process' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/base.rb:388:in `process' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action\_controller/dispatcher.rb:171:in `handle_request' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:115:in `dispatch' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action\_controller/dispatcher.rb:126:in `dispatch_cgi' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:9:in `dispatch' c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/webrick\_server.rb:112:in `handle_dispatch' c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/webrick_server.rb:78:in `service' c:/ruby/lib/ruby/1.8/webrick/httpserver.rb:104:in `service' c:/ruby/lib/ruby/1.8/webrick/httpserver.rb:65:in `run' c:/ruby/lib/ruby/1.8/webrick/server.rb:173:in `start_thread' c:/ruby/lib/ruby/1.8/webrick/server.rb:162:in `start' c:/ruby/lib/ruby/1.8/webrick/server.rb:162:in `start_thread' c:/ruby/lib/ruby/1.8/webrick/server.rb:95:in `start' c:/ruby/lib/ruby/1.8/webrick/server.rb:92:in `each' c:/ruby/lib/ruby/1.8/webrick/server.rb:92:in `start' c:/ruby/lib/ruby/1.8/webrick/server.rb:23:in `start' c:/ruby/lib/ruby/1.8/webrick/server.rb:82:in `start' c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/webrick\_server.rb:62:in `dispatch' c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/commands/servers/webrick.rb:66 c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem\_original\_require' c:/ruby/lib/ruby/site\_ruby/1.8/rubygems/custom\_require.rb:27:in `require' c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:496:in `require' c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active\_support/dependencies.rb:342:in `new_constants_in' c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:496:in `require' c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/commands/server.rb:39 c:/ruby/lib/ruby/site\_ruby/1.8/rubygems/custom\_require.rb:27:in `gem_original_require' c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require' script/server:3

Request

Parameters:

{"commit"=\>"Create", "product"=\>{"image\_url"=\>"blah", "title"=\>"blah", "description"=\>"blah"}}

Show session dump

---

<div class="post-metadata">

**Author:** ![Matt\_White1](https://avatars.discourse-cdn.com/v4/letter/m/a87d85/32.png) [@Matt\_White1](https://discuss.rubyonrails.org/u/Matt_White1)\
**Post date:** [March 27, 2008, 2:54pm UTC](https://discuss.rubyonrails.org/t/help-with-authentication-errors/26949/2 "2008-03-27T14:54:26Z")

</div>

Amy,

Not exactly sure what your problem could be but AWDwR 2ed was written for Rails 1.2. I would first try installing the rails 1.2.6 gem and setting your RAILS\_GEM\_VERSION (in environment.rb) to 1.2.6.

---

<div class="post-metadata">

**Author:** ![AndyV1](https://avatars.discourse-cdn.com/v4/letter/a/5fc32e/32.png) [@AndyV1](https://discuss.rubyonrails.org/u/AndyV1)\
**Post date:** [March 27, 2008, 2:59pm UTC](https://discuss.rubyonrails.org/t/help-with-authentication-errors/26949/3 "2008-03-27T14:59:24Z")

</div>

forgery protection was added in Rails 2.x. You can make it simpler to track with the texts by turning it off. Update or add the following line in /config/environments/xxx.rb:

&nbsp;&nbsp;# Disable request forgery protection &nbsp;&nbsp;config.action\_controller.allow\_forgery\_protection = false

More here: [http://www.railsbrain.com/api/rails-2.0.2/doc/index.html?a=M000305&name=protect\_from\_forgery](http://www.railsbrain.com/api/rails-2.0.2/doc/index.html?a=M000305&name=protect_from_forgery)

---

<div class="post-metadata">

**Author:** ![11175](https://avatars.discourse-cdn.com/v4/letter/1/8edcca/32.png) [@11175](https://discuss.rubyonrails.org/u/11175)\
**Post date:** [March 27, 2008, 6:31pm UTC](https://discuss.rubyonrails.org/t/help-with-authentication-errors/26949/4 "2008-03-27T18:31:14Z")

</div>

AndyV wrote:

> forgery protection was added in Rails 2.x. You can make it simpler to track with the texts by turning it off. Update or add the following line in /config/environments/xxx.rb:
> 
> &nbsp;&nbsp;# Disable request forgery protection &nbsp;&nbsp;config.action\_controller.allow\_forgery\_protection = false
> 
> More here: [http://www.railsbrain.com/api/rails-2.0.2/doc/index.html?a=M000305&name=protect\_from\_forgery](http://www.railsbrain.com/api/rails-2.0.2/doc/index.html?a=M000305&name=protect_from_forgery)
> 
> On Mar 27, 10:40 am, Amy Johnson \<rails-mailing-l...@andreas-s.net\>

Thanks Andy, that took care of it without my having to revert to an earlier version. Now I can work through the books and figure out what I'm doing.

Take care,

amy
