我正在开发 Facebook 应用程序并使用 devise 和 omniauth-facebook 进行身份验证。我按照 wiki 页面进行设置,并使用 OmniAuth.config.add_mock(:facebook, @omniauth_hash) 作为我的规格。
这是我的 Gemfile:
source 'https://rubygems.org'
gem 'rails', '3.2.3'
gem 'sqlite3', '~> 1.3.6'
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'uglifier', '>= 1.0.3'
end
gem 'devise', '~> 2.0.4'
gem 'haml', '~> 3.1.4'
gem 'haml-rails', '~> 0.3.4'
gem 'therubyracer', '~> 0.9.10'
gem 'twitter-bootstrap-rails', '~> 2.0.6'
gem 'simple_form', '~> 2.0.2'
gem 'omniauth-facebook', '~> 1.2.0'
gem 'unicorn', '~> 4.3.1'
gem 'koala', '~> 1.4.1'
gem "formtastic", "~> 2.1.1" # 2.2.0 breaks activeadmin 0.4.3
gem 'activeadmin', '~> 0.4.3'
gem 'redis', '~> 2.2.2'
gem 'jquery-rails', '~> 2.0.2'
group :development, :test do
gem 'spork', '~> 1.0rc'
gem 'guard'
gem 'guard-test' # run tests automatically in background
gem 'annotate', '2.4.1.beta1'
gem 'guard-annotate' # annotate models, tests, etc with infos from db
gem 'guard-rspec' # run specs automatically in background
gem 'guard-spork', '~> 0.5.2'
gem 'rb-fsevent'
gem 'growl'
gem 'rspec-core', '2.7.0'
gem 'rspec-rails', '2.7.0'
gem 'simplecov' # test coverage
gem 'factory_girl', '2.3.2', :require => false
gem 'factory_girl_rails', '~> 1.4', :require => false # better fixtures
gem 'capybara' # better request tests with rspec
gem 'capybara-json', '~> 0.2.0'
gem 'launchy'
end
我的 GET 请求规范运行良好。重定向到omniauth-callback 等等。现在我想测试我用作 Flash 客户端的后端 API 的第一个 POST 请求。在我的请求规范中,我在调用此发布请求时只会收到“401 Unauthorized”。
有人可以帮我吗?我忘了什么吗?为什么我的 GET 请求工作正常,但 POST 却不行?
提前致谢